Просмотр исходного кода

add comdline option for name translation`

Dan Rapp 7 лет назад
Родитель
Сommit
3036127331
1 измененных файлов: 9 добавлений и 6 удалений
  1. 9
    6
      gitstats/gitstats.py

+ 9
- 6
gitstats/gitstats.py Просмотреть файл

9
 
9
 
10
 import multiprocessing_logging
10
 import multiprocessing_logging
11
 
11
 
12
+from collections import defaultdict
13
+
12
 from .gitdatacollector import GitDataCollector
14
 from .gitdatacollector import GitDataCollector
13
 from .htmlreportcreator import HTMLReportCreator
15
 from .htmlreportcreator import HTMLReportCreator
14
 from .miscfuncs import getgnuplotversion
16
 from .miscfuncs import getgnuplotversion
29
     'processes': 8,
31
     'processes': 8,
30
     'start_date': '',
32
     'start_date': '',
31
     'logging': logging.INFO,
33
     'logging': logging.INFO,
32
-    'name_xlate': {
33
-        'lmonson': 'Lynn Monson',
34
-        'DallanQ': 'Dallan Quass',
35
-        'Daniel Rapp': 'Dan Rapp'
36
-    }
34
+    'name_xlate': defaultdict(dict)
37
 }
35
 }
38
 
36
 
39
 class GitStats:
37
 class GitStats:
43
 
41
 
44
     Options:
42
     Options:
45
     -c key=value     Override configuration value
43
     -c key=value     Override configuration value
44
+    -n key=value     Define author name equivalency (key will treated the same as value)
46
 
45
 
47
     Default config values:
46
     Default config values:
48
     {conf}
47
     {conf}
51
     """)
50
     """)
52
 
51
 
53
     def run(self):
52
     def run(self):
54
-        optlist, args = getopt.getopt(sys.argv[1:], 'hc:', ["help"])
53
+        optlist, args = getopt.getopt(sys.argv[1:], 'hc:n:', ["help"])
55
         for o, v in optlist:
54
         for o, v in optlist:
56
             if o == '-c':
55
             if o == '-c':
57
                 key, value = v.split('=', 1)
56
                 key, value = v.split('=', 1)
64
             elif o in ('-h', '--help'):
63
             elif o in ('-h', '--help'):
65
                 self._usage()
64
                 self._usage()
66
                 sys.exit()
65
                 sys.exit()
66
+            elif o == '-n':
67
+                key, value = v.split('=', 1)
68
+                conf['name_xlate'][key] = value
69
+
67
 
70
 
68
         if len(args) < 2:
71
         if len(args) < 2:
69
             self._usage()
72
             self._usage()