diff options
author | rsiddharth <s@ricketyspace.net> | 2016-10-02 13:25:35 +0000 |
---|---|---|
committer | rsiddharth <s@ricketyspace.net> | 2016-10-02 13:29:49 +0000 |
commit | 8c76a064acaf6401cfa6f10e437be0436d7ae26d (patch) | |
tree | 34014892b0a9e68c58687ab719904912c75ddb7d /gd_diff.py | |
parent | 60ae86411fb4727dd29baacb60f1d7d78a1c0942 (diff) |
Add `save_gns_readme` function (gd_diff.py).
* gd_diff.py (save_gns_readme): New function.
* tests/test_gd_diff.py (test_save_gns_readme)
(test_save_gns_readme_double, test_save_gns_readme_error): Tests for
`save_gns_readme` function.
Diffstat (limited to 'gd_diff.py')
-rw-r--r-- | gd_diff.py | 34 |
1 files changed, 34 insertions, 0 deletions
@@ -6,9 +6,11 @@ # gns-deb-diff is under the Public Domain. See # <https://creativecommons.org/publicdomain/zero/1.0> +import os import shlex import sys +from os import path from subprocess import run, PIPE @@ -58,3 +60,35 @@ def get_packages(pkgs_file): pkgs_iter = map(lambda x: x.strip(), pkgs) return pkgs_iter + + +def save_gns_readme(content, release, pkg, local_dir): + """Save README.gNewsense locally. + + :param str content: + Content of the README.gNewsense file. + :param str release: + Release name. + :param str pkg: + Package name. + :param str local_dir: + Root directory under which readme of all packages get stored. + """ + # create gns_readme dir. for pkg. + gns_readme_dir = path.join(local_dir, release, pkg, 'debian') + + try: + os.makedirs(gns_readme_dir, exist_ok=True) + except Exception as e: + print("Error creating directory '%s'\n Error Info:\n %r" % (gns_readme_dir, e), + file=sys.stderr) + sys.exit(1) + + gns_readme = path.join(gns_readme_dir, 'README.gNewSense') + + with open(gns_readme, 'wb') as f: + f.write(content) + f.flush() + print('Saved {}'.format(gns_readme)) + + |