From b8e93ad464b9c351dac165381a204e3602802348 Mon Sep 17 00:00:00 2001 From: rsiddharth Date: Sat, 18 Feb 2017 01:13:32 +0000 Subject: Delete src/ --- src/gns_wiki.py | 134 -------------------------------------------------------- 1 file changed, 134 deletions(-) delete mode 100644 src/gns_wiki.py (limited to 'src/gns_wiki.py') diff --git a/src/gns_wiki.py b/src/gns_wiki.py deleted file mode 100644 index 749a89f..0000000 --- a/src/gns_wiki.py +++ /dev/null @@ -1,134 +0,0 @@ -# Copyright 2013 rsiddharth -# -# This work is free. You can redistribute it and/or modify it under -# the terms of the Do What The Fuck You Want To Public License, -# Version 2, as published by Sam Hocevar. See the COPYING file or -# for more details. - -import xmlrpclib as xmlrpc -from xmlrpclib import Fault -import filecmp -import os.path as path - -def get_topsecret(src_dir): - """ - Returns the username, password & wikiurl - - They are stored in src/config/ directory in the topsecret.txt - file. - """ - - try: - secrets = open(path.join(src_dir, - "config", - "topsecret.txt"), "r").readlines() - - username = secrets[0].strip() - password = secrets[1].strip() - wikiurl = secrets[2].strip() - except IOError: - print "ERROR: Specify your wikiusername, password & wikiurl at \ -`src/config/topsecret.txt`. Look at the README for the proper format." - exit(1) - - return username, password, wikiurl - -def update(table, src_dir): - """ - Generates wiki page using table and pushes it to the wiki using XML-RPC. - """ - - # Code below adapted from - # http://moinmo.in/MoinAPI/Examples#xmlrpc.putPage.28.29 - - name, password, wikiurl = get_topsecret(src_dir) - homewiki = xmlrpc.ServerProxy(wikiurl + "?action=xmlrpc2", - allow_none=True) - auth_token = homewiki.getAuthToken(name, password) - mc = xmlrpc.MultiCall(homewiki) - mc.applyAuthToken(auth_token) - pagename = "Documentation/3/DifferencesWithDebian" - wiki_page_content, update = generate_wiki_page(table, src_dir) - - if(update): - # Send the updated wiki page to moin wiki: - mc.putPage(pagename, wiki_page_content) - result = mc() - success = None - - try: - success = result[1] - except Fault, e: - print e - - if success: - print "Updated %s" % (pagename) - update_wiki_page_locally( - wiki_page_content, - path.join(src_dir, "wiki-files", - "differences-with-debian.txt")) - else: - print ">> Script did not update wiki <<" - else: - print "Nothing new! %s/%s was not updated" % (wikiurl, - pagename) - -def generate_wiki_page(table, src_dir): - """ - Generates the wiki page using the table. - - `differences-with-debian-head.txt' file, used by this function, - contains text that precedes the table. - """ - - # generate wikipage - diff_with_deb_head = path.join(src_dir, - "wiki-files", - "differences-with-debian-head.txt") - wiki_page_content = open(diff_with_deb_head, "r").read() + "\n" - - for row in table: - wiki_page_content += row + "\n" - - update = wiki_page_updated(wiki_page_content, src_dir) - - return wiki_page_content, update - - -def wiki_page_updated(wiki_page_content, src_dir): - """ - Returns True if the wiki page is updated - """ - - # write wikipage to temp file - temp_file = open("/tmp/diff-with-deb-tmp.txt", "w") - temp_file.write(wiki_page_content) - temp_file.close() - - # this file contains the wiki page last generated by the script. - diff_with_deb = path.join(src_dir, - "wiki-files", - "differences-with-debian.txt") - - # first check if the file exists - if(path.isfile(diff_with_deb)): - # filecmp.cmp returns True if both the file are same. - update = (filecmp.cmp(temp_file.name, - diff_with_deb, 1) == False) - else: - # we don't have a local copy of the wiki page. So, let's - # update the wiki. - update = True - - return update - - -def update_wiki_page_locally(wiki_page_content, filename): - """ - Writes the wiki page locally to `filename' - """ - - wiki_file = open(filename, "w") - wiki_file.write(wiki_page_content) - wiki_file.close() - -- cgit v1.2.3