diff options
author | rsiddharth <rsiddharth@ninthfloor.org> | 2014-01-02 16:52:57 +0530 |
---|---|---|
committer | rsiddharth <rsiddharth@ninthfloor.org> | 2014-01-02 16:52:57 +0530 |
commit | 223844f13980c4758d7e61e19cf95b79a871cf1d (patch) | |
tree | 8aa64633dea5da4bd2c077af4b8140beeb30a450 /src/gns-deb-diff.py | |
parent | 2fe62a627cf20f103570b99f13820d785e67cbdf (diff) | |
parent | b6e406da07b5ac327c28deb7f1bfc7e5a7399adb (diff) |
merged branch `dev`.
Now the script uses XMLRPC to automatically update the wiki remotely.
Diffstat (limited to 'src/gns-deb-diff.py')
-rw-r--r-- | src/gns-deb-diff.py | 49 |
1 files changed, 16 insertions, 33 deletions
diff --git a/src/gns-deb-diff.py b/src/gns-deb-diff.py index f23f5f3..173eaf1 100644 --- a/src/gns-deb-diff.py +++ b/src/gns-deb-diff.py @@ -11,12 +11,13 @@ import os.path as path import os import re from sys import exit, argv +import gns_wiki as wiki # global variables. bzr_base_url = None local_dir = None pkgs_file = None -table_file = None +src_dir = None # list of recognized fields. field_list = [ @@ -86,27 +87,28 @@ def process_input(): """ Read relevant values from argv to start work. """ - global bzr_base_url, local_dir, pkgs_file, table_file + global bzr_base_url, local_dir, pkgs_file, src_dir # defaults remote_bzr_url = "bzr://bzr.savannah.gnu.org/gnewsense/packages-parkes" local_packages_directory = "~/gnewsense/packages-parkes" + src_dir = path.dirname(argv[0]) + try: pkgs_file = argv[1] - table_file = argv[2] except IndexError: print "format: python path/to/gns-deb-diff.py \ -packages-list-file output-table-file local-packages-directory \ -remote-bzr-url\n\n`local-packages-directory' & 'remote-bzr-url' are \ +packages-list-file local-packages-directory remote-bzr-url\ +\n\n`local-packages-directory' & 'remote-bzr-url' are \ optional\ndefault values:\n\tlocal-packages-directory: %s\n\t\ remote-bzr-url: %s" % (remote_bzr_url, local_packages_directory) exit(1) # check if the local-packages-directory is given - if (len(argv) > 3): - local_dir = path.abspath(argv[3]) + if (len(argv) > 2): + local_dir = path.abspath(argv[2]) else: # stick with default directory local_dir = path.expanduser(local_packages_directory) @@ -119,8 +121,8 @@ remote-bzr-url: %s" % (remote_bzr_url, local_packages_directory) exit(1) # check if remote_bzr_url is given - if (len(argv) > 4): - bzr_base_url = argv[4] + if (len(argv) > 3): + bzr_base_url = argv[3] else: # stick with default url bzr_base_url = remote_bzr_url @@ -141,7 +143,7 @@ def read_gns_readme(package): try: readme_file = open(readme_file_path, 'r') except IOError, e: - print e + # README.gNewSense file not found. return None # give up! readme_content = readme_file.read().strip() @@ -251,40 +253,21 @@ packages-parkes/%s/annotate/head:/debian/README.gNewSense" % pkg_name return table - -def write_diff_table(table): - """Write the table to file. - - The filename is read from stdin - """ - global table_file - - try: - output_file = open(table_file, 'w') - - for row in table: - output_file.write("%s\n" % row) - - except IOError, e: - print "Something went wrong: %r" % e - finally: - output_file.close() - - def do_magic(): """ Does what it has to do :) """ - global table_file + global src_dir process_input() pkgs_list = get_packages_list() get_packages(pkgs_list) pkg_tuples, noreadme_pkgs = slurp_readmes(pkgs_list) diff_table = generate_diff_table(pkg_tuples) - write_diff_table(diff_table) + wiki.update(diff_table, src_dir) - print "README.gNewSense not found for: %s" % noreadme_pkgs + if(len(noreadme_pkgs) != 0): + print "README.gNewSense not found for: %s" % noreadme_pkgs do_magic() |