Skip to content
Snippets Groups Projects
Select Git revision
  • a994d25f90d2c04879f80d6f9df44878a6ee2428
  • master default protected
  • vertical_relations
  • lu_without_semantic_frames
  • hierarchy
  • additional-unification-filters
  • v0.1.1
  • v0.1.0
  • v0.0.9
  • v0.0.8
  • v0.0.7
  • v0.0.6
  • v0.0.5
  • v0.0.4
  • v0.0.3
  • v0.0.2
  • v0.0.1
17 results

environment.py

Blame
  • Syntax.py 1.02 KiB
    #! /usr/bin/python
    # -*- coding: utf-8 -*-
    
    from importer.Schema import Schema
    
    
    def analyze_tree(tree):
    
        phrases = {}
        schemata = []
        
        for schema_tree in tree._children[0]._children[0]._children:
            schema = Schema.fromTree(schema_tree)
            schemata.append(schema)
            phrases.update(schema.getPhraseIds())
            
        return phrases, schemata
            
    
    class Syntax:
    
        def __init__(self, phrases, schemata):
            self._phrases = phrases
            self._schemata = schemata
    
        @classmethod
        def fromTree(cls, syntax_tree):
            phrases, schemata = analyze_tree(syntax_tree)
            return cls(phrases, schemata)
    
        def getPhraseIds(self):
            return self._phrases
    
        def store(self, entry, stored_positions):
            for schema in self._schemata:
                schema.store(entry, stored_positions)
            entry.schemata_count = len(self._schemata)
            entry.save()
        
        def __unicode__(self):
            return '[' + ','.join([unicode(schema) for schema in self._schemata]) + ']'