chiark / gitweb /
wiki: log server start/stop times and command line
authorHans-Christoph Steiner <hans@eds.org>
Wed, 17 Jan 2018 21:21:15 +0000 (22:21 +0100)
committerHans-Christoph Steiner <hans@eds.org>
Mon, 22 Jan 2018 12:49:10 +0000 (13:49 +0100)
fdroidserver/server.py

index 004a606879c30d156446dff5046b1005a927d0ce..6666830c6ebffb5c48c2d8e8842371d8f819f439 100644 (file)
@@ -35,6 +35,7 @@ from .exception import FDroidException
 
 config = None
 options = None
+start_timestamp = time.gmtime()
 
 BINARY_TRANSPARENCY_DIR = 'binary_transparency'
 
@@ -583,6 +584,28 @@ def push_binary_transparency(git_repo_path, git_remote):
         origin.push('master')
 
 
+def update_wiki():
+    try:
+        import mwclient
+        site = mwclient.Site((config['wiki_protocol'], config['wiki_server']),
+                             path=config['wiki_path'])
+        site.login(config['wiki_user'], config['wiki_password'])
+
+        # Write a page with the last build log for this version code
+        wiki_page_path = 'deploy_' + time.strftime('%s', start_timestamp)
+        newpage = site.Pages[wiki_page_path]
+        txt = ''
+        txt += "* command line: <code>" + ' '.join(sys.argv) + "</code>\n"
+        txt += "* started at " + common.get_wiki_timestamp(start_timestamp) + '\n'
+        txt += "* completed at " + common.get_wiki_timestamp() + '\n'
+        txt += "\n\n"
+        newpage.save(txt, summary='Run log')
+        newpage = site.Pages['deploy']
+        newpage.save('#REDIRECT [[' + wiki_page_path + ']]', summary='Update redirect')
+    except Exception as e:
+        logging.error(_('Error while attempting to publish log: %s') % e)
+
+
 def main():
     global config, options
 
@@ -723,6 +746,9 @@ def main():
                 push_binary_transparency(BINARY_TRANSPARENCY_DIR,
                                          binary_transparency_remote)
 
+    if config.get('wiki_server') and config.get('wiki_path'):
+        update_wiki()
+
     sys.exit(0)