summaryrefslogtreecommitdiffstats
path: root/gd_diff.py
diff options
context:
space:
mode:
authorrsiddharth <s@ricketyspace.net>2016-10-02 13:25:35 +0000
committerrsiddharth <s@ricketyspace.net>2016-10-02 13:29:49 +0000
commit8c76a064acaf6401cfa6f10e437be0436d7ae26d (patch)
tree34014892b0a9e68c58687ab719904912c75ddb7d /gd_diff.py
parent60ae86411fb4727dd29baacb60f1d7d78a1c0942 (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.py34
1 files changed, 34 insertions, 0 deletions
diff --git a/gd_diff.py b/gd_diff.py
index 3c704e9..f8bb154 100644
--- a/gd_diff.py
+++ b/gd_diff.py
@@ -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))
+
+