aboutsummaryrefslogtreecommitdiffstats
path: root/MgaRepo/log.py
diff options
context:
space:
mode:
authorPer Øyvind Karlsen <proyvind@moondrake.org>2016-06-03 17:13:36 +0200
committerPer Øyvind Karlsen <proyvind@moondrake.org>2016-06-03 17:13:36 +0200
commite304a2d8c4c38cf69a6a1ffc5662b4d9273225d8 (patch)
tree52d00034680c087eaaf34fd235ab20527a2e97cc /MgaRepo/log.py
parent8e45f6e95a474272ed23865fde8c056052099030 (diff)
downloadmgarepo-e304a2d8c4c38cf69a6a1ffc5662b4d9273225d8.tar
mgarepo-e304a2d8c4c38cf69a6a1ffc5662b4d9273225d8.tar.gz
mgarepo-e304a2d8c4c38cf69a6a1ffc5662b4d9273225d8.tar.bz2
mgarepo-e304a2d8c4c38cf69a6a1ffc5662b4d9273225d8.tar.xz
mgarepo-e304a2d8c4c38cf69a6a1ffc5662b4d9273225d8.zip
implement optional conversion of svn author to full name & email
Diffstat (limited to 'MgaRepo/log.py')
-rw-r--r--MgaRepo/log.py21
1 files changed, 18 insertions, 3 deletions
diff --git a/MgaRepo/log.py b/MgaRepo/log.py
index ffa5a4d..3fb3cc5 100644
--- a/MgaRepo/log.py
+++ b/MgaRepo/log.py
@@ -8,6 +8,7 @@ from io import StringIO
import sys
import os
+import os.path
import re
import time
import locale
@@ -569,11 +570,12 @@ class UserTagParser(HTMLParser):
userpage = None
namepat = re.compile("(?P<name>.*?)\s*\((?P<user>.*?)\)")
usermap = {}
+ usermapfile = None
- def __init__(self, url="https://people.mageia.org/u/", defaultmail="mageia.org", *cmd, **kwargs):
+ def __init__(self, url=None, defaultmail=None, *cmd, **kwargs):
HTMLParser.__init__(self, *cmd, **kwargs)
- self.url = url
- self.defaultmail = defaultmail
+ self.url = url or "http://people.mageia.org/u/"
+ self.defaultmail = defaultmail or "mageia.org"
def handle_starttag(self, tag, attrs):
if tag == "li":
@@ -607,6 +609,19 @@ class UserTagParser(HTMLParser):
self.feed(userhtml)
return self.usermap
+ def get_user_map_file(self):
+ if not self.usermap:
+ self.get_user_map()
+ self.usermapfile = tempfile.mkstemp(suffix=".txt", prefix="usermap")
+ f = open(self.usermapfile[0], "w", encoding="UTF-8")
+ f.writelines("%s = %s\n" % user for user in sorted(self.usermap.items()))
+ f.close()
+ return self.usermapfile[1]
+
+ def cleanup(self):
+ if os.path.exists(self.usermapfile[1]):
+ os.unlink(self.usermapfile[1])
+
def _map_user_names():
if not usermap:
parser = UserTagParser()