tIncrease parsing speed by not using regex - amprolla - devuan's apt repo merger
 (HTM) git clone git://parazyd.org/amprolla.git
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit ad4a91c066ce306caf619fc3783cc963ab9c4802
 (DIR) parent 742e8d0e7f1aede6dac09ed92cba828378dfab24
 (HTM) Author: Merlijn Wajer <merlijn@wizzup.org>
       Date:   Fri, 26 May 2017 00:41:00 +0200
       
       Increase parsing speed by not using regex
       
       Diffstat:
         M lib/parse.py                        |      26 +++++++++++++++++++++++++-
       
       1 file changed, 25 insertions(+), 1 deletion(-)
       ---
 (DIR) diff --git a/lib/parse.py b/lib/parse.py
       t@@ -35,10 +35,34 @@ def parse_release(reltext):
                    _hash[(i.split()[2])] = i.split()[0]
                return _hash
        
       -PACKAGES_REGEX = re.compile('([A-Za-z0-9\-]+): ')
        
        def parse_package(entry):
            """ Parses a single Packages entry """
       +    pkgs = {}
       +
       +    contents = entry.split('\n')
       +
       +    key = ''
       +    value = ''
       +    for line in contents:
       +        if line.startswith(' '):
       +            value += '\n' + line
       +        else:
       +            pkgs[key] = value
       +
       +            v = line.split(':', 1)
       +            key = v[0]
       +            value = v[1][1:]
       +
       +    if key:
       +        pkgs[key] = value
       +
       +    return pkgs
       +
       +
       +PACKAGES_REGEX = re.compile('([A-Za-z0-9\-]+): ')
       +def parse_package_re(entry):
       +    """ Parses a single Packages entry """
            contents = PACKAGES_REGEX.split(entry)[1:]  # Throw away the first ''
        
            keys = contents[::2]