From e304a2d8c4c38cf69a6a1ffc5662b4d9273225d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Per=20=C3=98yvind=20Karlsen?= Date: Fri, 3 Jun 2016 17:13:36 +0200 Subject: implement optional conversion of svn author to full name & email --- MgaRepo/log.py | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) (limited to 'MgaRepo/log.py') 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.*?)\s*\((?P.*?)\)") 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() -- cgit v1.2.1