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
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)