def __init__(self, file_path=None, author='<STR_LIT>'):
ctz = -time.altzone if time.localtime(time.time()).tm_isdst andtime.daylight else -time.timezone<EOL>self.maxts = <NUM_LIT:1><EOL>self.maxaid = <NUM_LIT:1><EOL>self.adocument = {<EOL>'<STR_LIT>': author,<EOL>'<STR_LIT>': time.strftime('<STR_LIT>').format(<EOL>ctz // <NUM_LIT>, ctz % <NUM_LIT>),<EOL>'<STR_LIT>': '<STR_LIT>',<EOL>'<STR_LIT>': '<STR_LIT>',<EOL>'<STR_LIT>': '<STR_LIT>',<EOL>'<STR_LIT>':<EOL>'<STR_LIT>'}<EOL>self.annotations = {}<EOL>self.constraints = {}<EOL>self.controlled_vocabularies = {}<EOL>self.external_refs = {}<EOL>self.header = {}<EOL>self.languages = {}<EOL>self.lexicon_refs = {}<EOL>self.linguistic_types = {}<EOL>self.locales = {}<EOL>self.tiers = {}<EOL>self.timeslots = {}<EOL>self.licenses = []<EOL>self.linked_file_descriptors = []<EOL>self.media_descriptors = []<EOL>self.properties = []<EOL>if file_path is None:<EOL><INDENT>self.add_linguistic_type('<STR_LIT>')<EOL>self.constraints = self.CONSTRAINTS.copy()<EOL>self.properties.append(('<STR_LIT>', <NUM_LIT:0>))<EOL>self.add_tier('<STR_LIT:default>')<EOL><DEDENT>else:<EOL><INDENT>parse_eaf(file_path, self)<EOL><DEDENT>
Construct either a new Eaf file or read on from a file/stream.

        :param str file_path: Path to read from, - for stdin. If ``None`` an
            empty Eaf file will be created.
        :param str author: Author of the file.