Example #1
0
 def parse_log(self):
     """read through self.text, instantiate LogEntry objects and return a
     list of them"""
     def _parse_entry(iterable):
         tmp = LogEntry()
         # parse values from exchange header
         header = iterable[0].split()
         tmp.exchange = int(header[2][:-1])
         tmp.step = int(header[4][:-1])
         tmp.repeat = int(header[6])
         tmp.body = iterable[1:]
         tmp._parse_body()
         return tmp
     tmp = []
     for entry in paragraphs(self.text, "# exchange"):
         tmp.append(_parse_entry(entry))
     return tmp
Example #2
0
 def _parse_residue(self):
     resi = []
     pres = []
     other = []
     for block in paragraphs(self.deque, ('resi', 'pres', 'end')):
         if block[0].startswith('resi'):
             resi.append(block)
         elif block[0].startswith('pres'):
             pres.append(block)
         else:
             other.extend(block)
     other.append('end')
     if self.residue is None and resi:
         self.residue = resi
     elif self.residue is not None and resi:
         self.residue.extend(resi)
     if self.patch is None and pres:
         self.patch = pres
     elif self.patch is not None and pres:
         self.patch.extend(pres)
     self.deque = deque(other)