@known_author_patterns.setter<EOL><INDENT>def known_author_patterns(self, val):<DEDENT>
def create_pat_from_dict(val):<EOL><INDENT>'''<STR_LIT>'''<EOL>if "<STR_LIT>" in val:<EOL><INDENT>pat = AuthorPattern(tag=val["<STR_LIT>"])<EOL>if "<STR_LIT>" in val:<EOL><INDENT>pat.attr = val["<STR_LIT>"]<EOL>pat.value = val["<STR_LIT:value>"]<EOL><DEDENT><DEDENT>elif "<STR_LIT>" in val:<EOL><INDENT>pat = AuthorPattern(attr=val["<STR_LIT>"], value=val["<STR_LIT:value>"],<EOL>content=val["<STR_LIT:content>"])<EOL><DEDENT>if "<STR_LIT>" in val:<EOL><INDENT>pat.subpattern = create_pat_from_dict(val["<STR_LIT>"])<EOL><DEDENT>return pat<EOL><DEDENT>if isinstance(val, list):<EOL><INDENT>self._known_author_patterns = [<EOL>x if isinstance(x, AuthorPattern) else create_pat_from_dict(x)<EOL>for x in val<EOL>] + self.known_author_patterns<EOL><DEDENT>elif isinstance(val, AuthorPattern):<EOL><INDENT>self._known_author_patterns.insert(<NUM_LIT:0>, val)<EOL><DEDENT>elif isinstance(val, dict):<EOL><INDENT>self._known_author_patterns.insert(<NUM_LIT:0>, create_pat_from_dict(val))<EOL><DEDENT>else:<EOL><INDENT>raise Exception("<STR_LIT>".format(type(val)))<EOL><DEDENT>
val must be a dictionary or list of dictionaries
            e.g., {'attrribute': 'name', 'value': 'my-pubdate', 'content': 'datetime'}
                or [{'attrribute': 'name', 'value': 'my-pubdate', 'content': 'datetime'},
                    {'attrribute': 'property', 'value': 'pub_time', 'content': 'content'}]