aboutsummaryrefslogtreecommitdiffstats
path: root/MgaRepo/log.py
diff options
context:
space:
mode:
authorPer Øyvind Karlsen <proyvind@moondrake.org>2016-06-01 04:23:14 +0200
committerPer Øyvind Karlsen <proyvind@moondrake.org>2016-06-01 04:23:14 +0200
commitbe52a32e4719d86251c9c651e0e09510e183e7e9 (patch)
treec76996f61f856ce5fcff2e7f7654e7ffe6a9b565 /MgaRepo/log.py
parent1f3a525507a8f5681a8b478d55dc9346e45ab91d (diff)
downloadmgarepo-be52a32e4719d86251c9c651e0e09510e183e7e9.tar
mgarepo-be52a32e4719d86251c9c651e0e09510e183e7e9.tar.gz
mgarepo-be52a32e4719d86251c9c651e0e09510e183e7e9.tar.bz2
mgarepo-be52a32e4719d86251c9c651e0e09510e183e7e9.tar.xz
mgarepo-be52a32e4719d86251c9c651e0e09510e183e7e9.zip
use (dated) mageia user map from svn-git-migration metadata
Diffstat (limited to 'MgaRepo/log.py')
-rw-r--r--MgaRepo/log.py25
1 files changed, 20 insertions, 5 deletions
diff --git a/MgaRepo/log.py b/MgaRepo/log.py
index 797c0a1..980429b 100644
--- a/MgaRepo/log.py
+++ b/MgaRepo/log.py
@@ -209,11 +209,12 @@ def group_revisions_by_author(currentlog):
emailpat = re.compile("(?P<name>.*?)\s*<(?P<email>.*?)>")
-
+usermap = {}
def get_author_name(author):
found = emailpat.match(config.get("users", author, author))
- name = ((found and found.group("name")) or author)
- email = ((found and found.group("email")) or author+"@mageia.org")
+ gold = emailpat.match(usermap.get(author,""))
+ name = ((found and found.group("name")) or (gold and gold.group("name")) or author)
+ email = ((found and found.group("email")) or (gold and gold.group("email")) or author+"@mageia.org")
return name, email
def parse_raw_date(rawdate):
@@ -560,9 +561,19 @@ def get_old_log(pkgdirurl):
chlog.seek(0)
return chlog
+def _map_user_names():
+ import urllib.request
+ if not usermap:
+ # This user map is from 2013-08-24, so it's rather dated, but sufficing for those listed...
+ f = urllib.request.urlopen("http://gitweb.mageia.org/software/infrastructure/svn-git-migration/plain/metadata/mageia-user-map.txt")
+ for user in f.read().decode("UTF-8").splitlines():
+ username, namemail = user.split(" = ")
+ usermap[username] = namemail
+ f.close()
+
def get_changelog(pkgdirurl, another=None, svn=True, rev=None, size=None,
submit=False, sort=False, template=None, macros=[], exported=None,
- oldlog=False):
+ oldlog=False, fullnames=False):
"""Generates the changelog for a given package URL
@another: a stream with the contents of a changelog to be merged with
@@ -587,6 +598,8 @@ def get_changelog(pkgdirurl, another=None, svn=True, rev=None, size=None,
"""
newlog = StringIO()
if svn:
+ if fullnames:
+ _map_user_names()
rawsvnlog = svn2rpm(pkgdirurl, rev=rev, size=size, submit=submit,
template=template, macros=macros, exported=exported)
newlog.write(rawsvnlog)
@@ -601,13 +614,15 @@ def get_changelog(pkgdirurl, another=None, svn=True, rev=None, size=None,
return newlog
def specfile_svn2rpm(pkgdirurl, specfile, rev=None, size=None,
- submit=False, sort=False, template=None, macros=[], exported=None):
+ submit=False, sort=False, template=None, macros=[], exported=None, fullnames=False):
with open(specfile, encoding = 'utf-8') as fi:
spec, oldchlog = split_spec_changelog(fi)
another = None
if config.getbool("log", "merge-spec", False):
another = oldchlog
sort = sort or config.getbool("log", "sort", False)
+ if fullnames:
+ _map_user_names()
chlog = get_changelog(pkgdirurl, another=another, rev=rev, size=size,
submit=submit, sort=sort, template=template, macros=macros,
exported=exported, oldlog=True)
='#n240'>240 241 242 243
/* XPM */
static char * step_green_xpm[] = {
"21 21 219 2",
"  	c None",
". 	c #4B62AB",
"+ 	c #435794",
"@ 	c #35426A",
"# 	c #293047",
"$ 	c #20232C",
"% 	c #1B1B1C",
"& 	c #36436C",
"* 	c #465996",
"= 	c #374570",
"- 	c #20232D",
"; 	c #1A1A1A",
"> 	c #1F1F1F",
", 	c #252525",
"' 	c #282828",
") 	c #272727",
"! 	c #262626",
"~ 	c #2C2F36",
"{ 	c #404E79",
"] 	c #333F64",
"^ 	c #1A1A1B",
"/ 	c #383938",
"( 	c #81867E",
"_ 	c #A8B5A2",
": 	c #B1CAA5",
"< 	c #9AC088",
"[ 	c #739B5F",
"} 	c #4F6E40",
"| 	c #3B4038",
"1 	c #383838",
"2 	c #434D6E",
"3 	c #303A5A",
"4 	c #50514F",
"5 	c #A8AFA4",
"6 	c #E1EDDB",
"7 	c #E1F2D8",
"8 	c #CBEABD",
"9 	c #A9DA91",
"0 	c #7EC55B",
"a 	c #52A828",
"b 	c #427A26",
"c 	c #485243",
"d 	c #474747",
"e 	c #4B5470",
"f 	c #202020",
"g 	c #515450",
"h 	c #BBC8B5",
"i 	c #E7F5E0",
"j 	c #EBF7E6",
"k 	c #E5F4DE",
"l 	c #CFEBC1",
"m 	c #A5D98C",
"n 	c #70BF49",
"o 	c #3AA407",
"p 	c #3A9E09",
"q 	c #478927",
"r 	c #565F51",
"s 	c #55575B",
"t 	c #4E619F",
"u 	c #1C1C1C",
"v 	c #3F423E",
"w 	c #96A88C",
"x 	c #D3EDC7",
"y 	c #EAF6E4",
"z 	c #E9F6E3",
"A 	c #D3ECC6",
"B 	c #A0D686",
"C 	c #5FB734",
"D 	c #37A104",
"E 	c #3EA10F",
"F 	c #44A018",
"G 	c #55833F",
"H 	c #636363",
"I 	c #5B6481",
"J 	c #2B3248",
"K 	c #6C8162",
"L 	c #ABD796",
"M 	c #C0E5AE",
"N 	c #D1ECC4",
"O 	c #E1F3D9",
"P 	c #E6F5DF",
"Q 	c #CEEBC1",
"R 	c #94D076",
"S 	c #45AB14",
"T 	c #3DA20B",
"U 	c #45A318",
"V 	c #4BA221",
"W 	c #529F2D",
"X 	c #6B7A64",
"Y 	c #6E717B",
"Z 	c #272A33",
"` 	c #333333",
" .	c #719F5B",
"..	c #8DD06E",
"+.	c #9DD682",
"@.	c #B2DF9C",
"#.	c #C4E7B4",
"$.	c #CDEABF",
"%.	c #B4DFA0",
"&.	c #6FBE48",
"*.	c #39A407",
"=.	c #45A517",
"-.	c #4FA623",
";.	c #55A62D",
">.	c #59A733",
",.	c #6F8D60",
"'.	c #7F7F81",
").	c #2A2B2C",
"!.	c #3D3D3D",
"~.	c #57A233",
"{.	c #5CB82F",
"].	c #67BE3D",
"^.	c #75C44F",
"/.	c #83CA61",
"(.	c #85CA64",
"_.	c #66BB3D",
":.	c #3AA406",
"<.	c #47A719",
"[.	c #52A928",
"}.	c #59AB33",
"|.	c #5FAA39",
"1.	c #61AB3D",
"2.	c #72995F",
"3.	c #898989",
"4.	c #353841",
"5.	c #434343",
"6.	c #3D9414",
"7.	c #39A605",
"8.	c #3AA705",
"9.	c #3BA708",
"0.	c #42A811",
"a.	c #4CAA1F",
"b.	c #58AD2F",
"c.	c #60AD39",
"d.	c #64AD3F",
"e.	c #64AD41",
"f.	c #66AD43",
"g.	c #789D66",
"h.	c #8F9090",
"i.	c #3F465D",
"j.	c #488729",
"k.	c #42A411",
"l.	c #44A714",
"m.	c #47A918",
"n.	c #4AAA1C",
"o.	c #4FAA21",
"p.	c #56AC2C",
"q.	c #5EAF36",
"r.	c #63AF3E",
"s.	c #66AF42",
"t.	c #66AE43",
"u.	c #67AE44",
"v.	c #85A077",
"w.	c #95969B",
"x.	c #48557D",
"y.	c #4B4B4B",
"z.	c #527541",
"A.	c #4BA122",
"B.	c #4EA822",
"C.	c #53AA27",
"D.	c #57AC2E",
"E.	c #5CAE34",
"F.	c #63AF3C",
"G.	c #65B041",
"H.	c #67AF43",
"I.	c #67AF44",
"J.	c #6BAC4B",
"K.	c #9AA794",
"L.	c #9095A7",
"M.	c #4C5F9D",
"N.	c #50535B",
"O.	c #5B6059",
"P.	c #5A8844",
"Q.	c #55A92D",
"R.	c #5BAB33",
"S.	c #60AE3A",
"T.	c #64AE40",
"U.	c #86AB75",
"V.	c #B3B3B3",
"W.	c #7381AD",
"X.	c #515F8A",
"Y.	c #626262",
"Z.	c #6B7467",
"`.	c #629848",
" +	c #61AB3C",
".+	c #7EAC67",
"++	c #B4BAB1",
"@+	c #A6ABBA",
"#+	c #606780",
"$+	c #777777",
"%+	c #7F877B",
"&+	c #749B61",
"*+	c #68AA48",
"=+	c #6CAD4C",
"-+	c #8CB07A",
";+	c #B9BFB6",
">+	c #B2B6C1",
",+	c #5A6EAE",
"'+	c #657096",
")+	c #88898E",
"!+	c #979797",
"~+	c #94A18D",
"{+	c #8BA77D",
"]+	c #85AB73",
"^+	c #88AD75",
"/+	c #96B289",
"(+	c #AFBBA9",
"_+	c #C7C7C7",
":+	c #AFB4C3",
"<+	c #5A6FAE",
"[+	c #5669A7",
"}+	c #7D86A3",
"|+	c #9DA0AA",
"1+	c #B0B1B3",
"2+	c #B8B8B8",
"3+	c #BCBCBD",
"4+	c #BABCC0",
"5+	c #A8AEC0",
"6+	c #7C8AB7",
". . . . . . . . . . . . . . . . . . . . . ",
". . . . . . . . . . . . . . . . . . . . . ",
". . . . . . + @ # $ % $ # & * . . . . . . ",
". . . . . = - ; ; > , ' ) ! ~ { . . . . . ",
". . . . ] ^ ; / ( _ : < [ } | 1 2 . . . . ",
". . . 3 ^ > 4 5 6 7 8 9 0 a b c d e . . . ",
". . + - f g h i j k l m n o p q r s t . . ",
". . @ u v w x 7 y z A B C D E F G H I . . ",
". . J ' K L M N O P Q R S T U V W X Y . . ",
". . Z `  ...+.@.#.$.%.&.*.=.-.;.>.,.'.. . ",
". . ).!.~.{.].^./.(._.:.<.[.}.|.1.2.3.. . ",
". . 4.5.6.7.8.8.8.9.0.a.b.c.d.e.f.g.h.. . ",
". . i.d j.k.l.m.n.o.p.q.r.s.t.u.u.v.w.. . ",
". . x.y.z.A.B.C.D.E.F.G.H.I.u.u.J.K.L.. . ",
". . M.N.O.P.Q.R.S.T.H.I.u.u.u.u.U.V.W.. . ",
". . . X.Y.Z.`. +e.t.u.u.u.u.u..+++@+. . . ",
". . . . #+$+%+&+*+u.u.u.u.=+-+;+>+,+. . . ",
". . . . . '+)+!+~+{+]+^+/+(+_+:+<+. . . . ",
". . . . . . [+}+|+1+2+3+4+5+6+. . . . . . ",
". . . . . . . . . . . . . . . . . . . . . ",
". . . . . . . . . . . . . . . . . . . . . "};