Exemple #1
0
    def __read_definitions(self):
        self.definitions = {}
        for file_name, printname_index in self.def_files:
            # TODO HACK makefile needed
            if (file_name.endswith("generated")
                    and not os.path.exists(file_name)):
                raise Exception(
                    "A definition file that should be generated" +
                    " by pymachine/scripts/generate_translation_dict.sh" +
                    " does not exist: {0}".format(file_name))

            if file_name.endswith('pickle'):
                logging.info(
                    'loading 4lang definitions from {}...'.format(file_name))
                definitions = cPickle.load(file(file_name))
            else:
                logging.info('parsing 4lang definitions...')
                definitions = read_defs(file(file_name),
                                        self.plural_fn,
                                        printname_index,
                                        three_parts=True)

                logging.info('dumping 4lang definitions to file...')
                f = open('{0}.pickle'.format(file_name), 'w')
                cPickle.dump(definitions, f)

            for pn, machines in definitions.iteritems():
                if pn not in self.definitions:
                    self.definitions[pn] = machines
                else:
                    self.definitions[pn] |= machines
Exemple #2
0
    def __read_definitions(self):
        self.definitions = {}
        for file_name, printname_index in self.def_files:
            # TODO HACK makefile needed
            if (file_name.endswith("generated") and
                    not os.path.exists(file_name)):
                raise Exception(
                    "A definition file that should be generated" +
                    " by pymachine/scripts/generate_translation_dict.sh" +
                    " does not exist: {0}".format(file_name))

            if file_name.endswith('pickle'):
                logging.info(
                    'loading 4lang definitions from {}...'.format(file_name))
                definitions = cPickle.load(file(file_name))
            else:
                logging.info('parsing 4lang definitions...')
                definitions = read_defs(
                    file(file_name), self.plural_fn, printname_index,
                    three_parts=True)

                logging.info('dumping 4lang definitions to file...')
                f = open('{0}.pickle'.format(file_name), 'w')
                cPickle.dump(definitions, f)

            for pn, machines in definitions.iteritems():
                if pn not in self.definitions:
                    self.definitions[pn] = machines
                else:
                    self.definitions[pn] |= machines
Exemple #3
0
 def build_from_4lang(cfg):
     fn = cfg.get("machine", "definitions")
     plural_fn = cfg.get("machine", "plurals")
     primitive_fn = cfg.get("machine", "primitives")
     primitives = set(
         [line.decode('utf-8').strip() for line in open(primitive_fn)])
     logging.info('parsing 4lang definitions...')
     pn_index = 1 if cfg.get("deps", "lang") == 'hu' else 0
     definitions = read_defs(
         file(fn), plural_fn, pn_index, three_parts=True)
     logging.info('parsed {0} entries, done!'.format(len(definitions)))
     lexicon = Lexicon.create_from_dict(definitions, primitives, cfg)
     return lexicon
Exemple #4
0
 def build_from_4lang(cfg):
     fn = cfg.get("machine", "definitions")
     plural_fn = cfg.get("machine", "plurals")
     primitive_fn = cfg.get("machine", "primitives")
     primitives = set(
         [line.decode('utf-8').strip() for line in open(primitive_fn)])
     logging.info('parsing 4lang definitions...')
     pn_index = 1 if cfg.get("deps", "lang") == 'hu' else 0
     definitions = read_defs(file(fn),
                             plural_fn,
                             pn_index,
                             three_parts=True)
     logging.info('parsed {0} entries, done!'.format(len(definitions)))
     lexicon = Lexicon.create_from_dict(definitions, primitives, cfg)
     return lexicon
Exemple #5
0
 def build_from_4lang(cfg):
     fn = cfg.get("machine", "definitions")
     primitive_fn = cfg.get("machine", "primitives")
     primitives = set(
         [line.decode('utf-8').strip() for line in open(primitive_fn)])
     logging.info('parsing 4lang definitions...')
     pn_index = 1 if cfg.get("deps", "lang") == 'hu' else 0
     definitions = read_defs(file(fn), pn_index)
     #logging.info('parsed {0} entries, done!'.format(len(definitions)))
     logging.info('lowercasing binaries...')
     for pn, machines in definitions:
         for m in machines:
             for node in MachineTraverser.get_nodes(m,
                                                    keep_upper=True,
                                                    names_only=False):
                 node.printname_ = node.printname_.lower()
     logging.info('done!')
     lexicon = Lexicon.create_from_dict(definitions, primitives, cfg)
     return lexicon
Exemple #6
0
 def build_from_4lang(cfg):
     fn = cfg.get("machine", "definitions")
     plural_fn = cfg.get("machine", "plurals")
     primitive_fn = cfg.get("machine", "primitives")
     primitives = set(
         [line.decode('utf-8').strip() for line in open(primitive_fn)])
     logging.info('parsing 4lang definitions...')
     pn_index = 1 if cfg.get("deps", "lang") == 'hu' else 0
     definitions = read_defs(
         file(fn), plural_fn, pn_index, three_parts=True)
     logging.info('parsed {0} entries, done!'.format(len(definitions)))
     logging.info('lowercasing binaries...')
     for pn, machines in definitions.iteritems():
         for m in machines:
             for node in MachineTraverser.get_nodes(
                     m, keep_upper=True, names_only=False):
                 node.printname_ = node.printname_.lower()
     logging.info('done!')
     lexicon = Lexicon.create_from_dict(definitions, primitives, cfg)
     return lexicon