twrite new packages to their proper place - 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 a9c75db0eb4ef83bb40b00e3685181bd6841102d
 (DIR) parent 9d912834790c8c7407ff49f164d80166dd1f05a2
 (HTM) Author: parazyd <parazyd@dyne.org>
       Date:   Mon, 29 May 2017 18:02:11 +0200
       
       write new packages to their proper place
       
       Diffstat:
         M amprolla-merge                      |      10 +++++++---
         M lib/config.py                       |       2 +-
         M lib/package.py                      |       2 ++
       
       3 files changed, 10 insertions(+), 4 deletions(-)
       ---
 (DIR) diff --git a/amprolla-merge b/amprolla-merge
       t@@ -9,7 +9,7 @@ from time import time
        from lib.package import (write_packages, load_packages_file,
                                 merge_packages_many)
        from lib.config import (aliases, banpkgs, repo_order, repos,
       -                        spooldir, suites)
       +                        spooldir, suites , mergedir, mergesubdir)
        
        
        def prepare_merge_dict():
       t@@ -18,7 +18,7 @@ def prepare_merge_dict():
            that need to be merged in an ordered fashion. Orders them using the
            repo_order list found in lib.config
            Example output:
       -        { ascii: ['ascii', None, 'stretch'] },
       +        {'ascii': ['ascii', None, 'stretch']},
            """
            merge_dict = {}
        
       t@@ -79,7 +79,11 @@ def merge(packages_list):
            new_pkgs = merge_packages_many(all_repos, banned_packages=banpkgs, rewriter=devuan_rewrite)
        
            print('Writing packages')
       -    write_packages(new_pkgs, 'Packages.merged')
       +    # replace the devuan subdir with our mergedir that we plan to fill
       +    new_out = packages_list[0].replace(join(spooldir,
       +                                            repos['devuan']['dists']),
       +                                       join(mergedir, mergesubdir))
       +    write_packages(new_pkgs, new_out)
        
            t2 = time()
            print('time:', t2-t1)
 (DIR) diff --git a/lib/config.py b/lib/config.py
       t@@ -5,7 +5,7 @@
        spooldir = './spool'
        sign_key = 'fa1b0274'
        mergedir = './merged'
       -mergedsubdirs = ['dists', 'pool']
       +mergesubdir = 'dists'
        banpkgs = {'systemd', 'systemd-sysv'}
        # checksums = [ 'md5sum', 'sha1', 'sha256', 'sha512' ]
        
 (DIR) diff --git a/lib/package.py b/lib/package.py
       t@@ -1,3 +1,4 @@
       +import os
        from gzip import open as gzip_open
        
        from lib.parse import (parse_packages, parse_dependencies)
       t@@ -9,6 +10,7 @@ def write_packages(packages, filename, sort=True):
            Writes `packages` to a file (per debian Packages format)
            If sort=True, the packages are sorted by name.
            """
       +    os.makedirs(os.path.dirname(filename), exist_ok=True)
            f = open(filename, 'w+')
        
            pkg_items = packages.items()