trename amprolla-init to amprolla_init.py and make it a valid module - 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 dcaa731f87ed924751ac5e25c5d6cc4a00f39e59
 (DIR) parent 152f4c434ca99792325707014be3e195a8d9cc88
 (HTM) Author: parazyd <parazyd@dyne.org>
       Date:   Thu,  1 Jun 2017 00:46:55 +0200
       
       rename amprolla-init to amprolla_init.py and make it a valid module
       
       Diffstat:
         D amprolla-init                       |      63 -------------------------------
         A amprolla_init.py                    |      74 +++++++++++++++++++++++++++++++
       
       2 files changed, 74 insertions(+), 63 deletions(-)
       ---
 (DIR) diff --git a/amprolla-init b/amprolla-init
       t@@ -1,63 +0,0 @@
       -#!/usr/bin/env python3
       -"""
       -This module will download the initial Release files used to populate
       -the spooldir, along with all the files hashed inside the Release files
       -"""
       -
       -from os.path import join
       -
       -import lib.config as config
       -from lib.net import download
       -from lib.parse import parse_release
       -
       -
       -def pop_dirs(repo):
       -    """
       -    Crawls through the directories to come up with complete needed
       -    directory structure.
       -    Returns a list of tuples holding the remote and local locations
       -    of the files
       -    Example:
       -        (http://auto.mirror.devuan.org/devuan/dists/jessie/main/binary-armhf/Packages.gz,
       -         ./spool/devuan/dists/unstable/contrib/binary-armhf/Packages.gz)
       -    """
       -    print('Downloading %s directory structure' % repo)
       -    repodata = config.repos[repo]
       -
       -    urls = []
       -
       -    for i in config.suites:
       -        for j in config.suites[i]:
       -            baseurl = join(repodata['host'], repodata['dists'])
       -            suite = j
       -            if repodata['aliases'] is True:
       -                if j in config.aliases[repodata['name']]:
       -                    suite = config.aliases[repodata['name']][j]
       -                elif repodata['skipmissing'] is True:
       -                    continue
       -                skips = ['jessie-security', 'ascii-security']  # XXX: hack
       -                if repo == 'debian' and j in skips:
       -                    continue
       -            pair = (join(baseurl, suite),
       -                    join(baseurl.replace(repodata['host'],
       -                         config.spooldir), suite))
       -            urls.append(pair)
       -
       -    return urls
       -
       -
       -for dist in config.repos:
       -    dlurls = pop_dirs(dist)
       -    for url in dlurls:
       -        for file in config.mainrepofiles:
       -            remote = join(url[0], file)
       -            local = join(url[1], file)
       -            download(remote, local)
       -
       -        release_contents = open(join(url[1], 'Release')).read()
       -        release_contents = parse_release(release_contents)
       -        for k in release_contents.keys():
       -            if k.endswith('/binary-armhf/Packages.gz'):
       -                remote = join(url[0], k)
       -                local = join(url[1], k)
       -                download(remote, local)
 (DIR) diff --git a/amprolla_init.py b/amprolla_init.py
       t@@ -0,0 +1,74 @@
       +#!/usr/bin/env python3
       +"""
       +This module will download the initial Release files used to populate
       +the spooldir, along with all the files hashed inside the Release files
       +"""
       +
       +from os.path import join
       +
       +import lib.config as config
       +from lib.net import download
       +from lib.parse import parse_release
       +
       +
       +def pop_dirs(repo):
       +    """
       +    Crawls through the directories to come up with complete needed
       +    directory structure.
       +    Returns a list of tuples holding the remote and local locations
       +    of the files
       +    Example:
       +        (http://auto.mirror.devuan.org/devuan/dists/jessie/main/binary-armhf/Packages.gz,
       +         ./spool/devuan/dists/unstable/contrib/binary-armhf/Packages.gz)
       +    """
       +    print('Downloading %s directory structure' % repo)
       +    repodata = config.repos[repo]
       +
       +    urls = []
       +
       +    for i in config.suites:
       +        for j in config.suites[i]:
       +            baseurl = join(repodata['host'], repodata['dists'])
       +            suite = j
       +            if repodata['aliases'] is True:
       +                if j in config.aliases[repodata['name']]:
       +                    suite = config.aliases[repodata['name']][j]
       +                elif repodata['skipmissing'] is True:
       +                    continue
       +                skips = ['jessie-security', 'ascii-security']  # hack
       +                if repo == 'debian' and j in skips:
       +                    continue
       +            pair = (join(baseurl, suite),
       +                    join(baseurl.replace(repodata['host'],
       +                                         config.spooldir), suite))
       +            urls.append(pair)
       +
       +    return urls
       +
       +
       +def main():
       +    """
       +    Loops through all repositories, and downloads their *Release* files, along
       +    with all the files listed within those Release files.
       +    """
       +    for dist in config.repos:
       +        dlurls = pop_dirs(dist)
       +        for url in dlurls:
       +            for file in config.mainrepofiles:
       +                remote = join(url[0], file)
       +                local = join(url[1], file)
       +                download(remote, local)
       +
       +            release_contents = open(join(url[1], 'Release')).read()
       +            release_contents = parse_release(release_contents)
       +            # for k in release_contents.keys():
       +            for k in release_contents:
       +                # if k.endswith('/binary-armhf/Packages.gz'):
       +                # if k.endswith('Packages.gz'):
       +                remote = join(url[0], k)
       +                local = join(url[1], k)
       +                download(remote, local)
       +
       +
       +if __name__ == '__main__':
       +    main()