Jdlrobson has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/95721


Change subject: Make script output raw wikitext
......................................................................

Make script output raw wikitext

Allow passing of -o argument to specify a file to output
wikitext to. When omitted simply prints to stdout

Change-Id: Icc1a1e6dfae6eb245d5de7eed2d5bc12762aaa80
---
M git-logs/log_updates.py
1 file changed, 49 insertions(+), 6 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/tools/release 
refs/changes/21/95721/1

diff --git a/git-logs/log_updates.py b/git-logs/log_updates.py
index a2f11d1..bdd44cf 100755
--- a/git-logs/log_updates.py
+++ b/git-logs/log_updates.py
@@ -6,6 +6,9 @@
 import sys
 import getopt
 
+headings = ["dependencies", "stories", "bugs", "qa", "hygiene", "i18n",
+            "regressions"]
+
 
 def info(msg):
     print "[INFO] %s" % msg
@@ -57,20 +60,60 @@
 
 
 def grep_change_log_file(f_name):
-    for line in open(f_name, 'r'):
-        if re.findall(r"(?i)Story|(?i)Stories|(?i)Bug|(?i)Regression|(?i)QA|\
-        (?i)Hygiene|(?i)Dependency", line):
-            print line
+    log = {}
+    for heading in headings:
+        log[heading] = []
+    f = open(f_name, 'r')
+    for line in f:
+        if re.findall(r"(?i)Story", line):
+            log["stories"].append(line)
+        elif re.findall(r"(?i)Bug", line):
+            log["bugs"].append(line)
+        elif re.findall(r"(?i)QA", line):
+            log["qa"].append(line)
+        elif re.findall(r"(?i)Regression", line):
+            log["regressions"].append(line)
+        elif re.findall(r"(?i)Hygiene", line):
+            log["hygiene"].append(line)
+        elif re.findall(r"(?i)Dependency", line):
+            log["dependencies"].append(line)
+    f = open(f_name, 'r')
+    log["raw"] = f.read()
+    f.close()
+    return log
+
+
+def get_wiki_text(log):
+    info("Generating wikitext ...\n")
+    out = ''
+    for heading in headings:
+        out += '== %s ==\n' % heading.capitalize()
+        for commit in log[heading]:
+            out += '%s\n' % commit
+    out += '== Raw git log ==\n'
+    out += log["raw"]
+    return out
 
 
 if __name__ == '__main__':
     commit = None
+    output_filename = None
     try:
-        opts, args = getopt.getopt(sys.argv[1:], "c:")
+        opts, args = getopt.getopt(sys.argv[1:], "c:o:")
         for opt, arg in opts:
             if opt == '-c':
                 commit = arg
+            elif opt == '-o':
+                output_filename = arg
     except getopt.GetoptError:
         pass
     f_name = generate_change_log('.', commit)
-    grep_change_log_file(f_name)
+    log = grep_change_log_file(f_name)
+    wikitext = get_wiki_text(log)
+    if output_filename:
+        info("Saving to %s ...\n" % output_filename )
+        f = open(output_filename, "w")
+        f.write(wikitext)
+        f.close()
+    else:
+        print wikitext

-- 
To view, visit https://gerrit.wikimedia.org/r/95721
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Icc1a1e6dfae6eb245d5de7eed2d5bc12762aaa80
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/tools/release
Gerrit-Branch: master
Gerrit-Owner: Jdlrobson <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to