rendered paste body#!/usr/bin/env pythonimport reclass queue: items = {}class tree_analyser: flags = { 'N': 'new', 'S': 'slotted', 'U': 'updates', 'D': 'downgrades', 'R': 'remerges', 'F': 'fetch', 'f': 'fetched', 'B': 'blocked', } flagcounter = {} categorycounter = {} def __init__(self, data): self.data = data for flag in self.flags: self.flagcounter[flag] = 0 self._parse_data() def _parse_data(self): regex = re.compile('\[(?P<action>ebuild|nomerge|blocks)\s+(?P<flag>[NSUDRFfB]+)\s*\](?P<indent> +)(?P<package>[^\s]+)\s+(\[(?P<oldversion>[^\]]+)\]\s+)?(USE="(?P<use>[^"]+)"\s+)?(LINGUAS="(?P<linguas>[^"]+)"\s+)?(?P<size>[0-9,]+)' % self.flags) for line in self.data: match = regex.search(line) if match: # and match.group('category') == 'www-client': for flag in self.flags: if flag in match.group('flag'): self.flagcounter[flag] += 1 print match.groupdict() print self.flagcounterdef exit(): __import__('sys').exit(0)tree = tree_analyser(open('list').readlines())