Changeset 1734:91d14dd2cf0e in orange-bioinformatics for _bioinformatics/obiKEGG/entry/__init__.py


Ignore:
Timestamp:
03/05/13 19:48:26 (14 months ago)
Author:
Ales Erjavec <ales.erjavec@…>
Branch:
default
Message:

obiKEGG code style fixes.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _bioinformatics/obiKEGG/entry/__init__.py

    r1733 r1734  
    1111from .parser import DBGETEntryParser 
    1212 
     13 
    1314def entry_decorate(cls): 
    14     """ Decorate the DBEntry subclass with properties for acessing 
     15    """ 
     16    Decorate the DBEntry subclass with properties for accessing 
    1517    the fields through the 'DBField._convert' interface 
    16       
     18 
    1719    """ 
    1820    reserved_names_map = {"class": "class_", "def": "def_"} 
     21 
    1922    def construct_one(name): 
    2023        def get(self): 
     
    2528                return None 
    2629        return property(get, doc=name) 
    27      
     30 
    2831    def construct_multiple(name): 
    2932        def get(self): 
     
    3437                return None 
    3538        return property(get, doc=name) 
    36      
     39 
    3740    for name, field in cls.FIELDS: 
    3841        name_lower = name.lower() 
     
    4346                prop = construct_one(name) 
    4447            setattr(cls, reserved_names_map.get(name_lower, name_lower), prop) 
    45          
     48 
    4649    return cls 
    4750 
     51 
    4852class DBEntry(object): 
    49     """ A DBGET entry object. 
    5053    """ 
    51     FIELDS = [("ENTRY", fields.DBEntryField), 
    52               ] 
     54    A DBGET entry object. 
     55    """ 
     56    FIELDS = [("ENTRY", fields.DBEntryField)] 
    5357    MULTIPLE_FIELDS = [] 
    54      
     58 
    5559    def __init__(self, text=None): 
    5660        self._sections = {} 
    5761        if text is not None: 
    5862            self.parse(text) 
    59              
     63 
    6064    @property 
    6165    def entry_key(self): 
     
    6367        """ 
    6468        return self.entry.split(" ", 1)[0] 
    65      
     69 
    6670    def parse(self, text): 
    6771        parser = DBGETEntryParser() 
    6872        gen = parser.parse_string(text) 
    69         entry_start = 0 
    7073        field_constructors = dict(self.FIELDS) 
    71         sections = defaultdict(list) 
     74 
    7275        current = None 
    7376        current_subfield = None 
    7477        entry_fields = [] 
    7578        for (event, title, text) in gen: 
    76 #            print event, title, text 
    7779            if event == DBGETEntryParser.SECTION_START: 
    7880                if title in field_constructors: 
     
    9496                    new.TITLE = current.TITLE 
    9597                    current = new 
    96                      
     98 
    9799            elif event == DBGETEntryParser.SUBSECTION_END: 
    98100                current.subsections.append(current_subfield) 
     
    105107            elif event == DBGETEntryParser.ENTRY_END: 
    106108                break 
    107          
     109 
    108110        self.fields = entry_fields 
    109111        self._consolidate() 
    110          
     112 
    111113    def _consolidate(self): 
    112         """ Update mapping to field entries. 
     114        """ 
     115        Update mapping to field entries. 
    113116        """ 
    114117        registered_fields = dict(self.FIELDS) 
    115118        multiple_fields = set(self.MULTIPLE_FIELDS) 
    116          
     119 
    117120        for field in self.fields: 
    118121            title = field.TITLE 
     
    120123                import warnings 
    121124                warnings.warn("Nonregisterd field %r in %r" % \ 
    122                                 (title, type(self))) 
    123             title_lower = title.lower() 
     125                              (title, type(self))) 
     126 
    124127            if title in multiple_fields: 
    125128                if not hasattr(self, title): 
     
    128131            else: 
    129132                setattr(self, title, field) 
    130          
    131      
     133 
    132134    def __str__(self): 
    133135        return self.format() 
    134      
     136 
    135137    def format(self, section_indent=12): 
    136         return "".join(f.format(section_indent)\ 
     138        return "".join(f.format(section_indent) 
    137139                       for f in self.fields) 
    138          
     140 
    139141    def get(self, key, default=None): 
    140142        raise NotImplementedError 
    141      
     143 
    142144        f = getattr(self, key, None) 
    143145        if f is not None: 
Note: See TracChangeset for help on using the changeset viewer.