forked from gitpython-developers/GitPython
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathstats.py
More file actions
17 lines (16 loc) · 815 Bytes
/
stats.py
File metadata and controls
17 lines (16 loc) · 815 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class Stats(object):
def __init__(self, repo, total, files):
self.repo = repo
self.total = total
self.files = files
@classmethod
def list_from_string(cls, repo, text):
hsh = {'total': {'insertions': 0, 'deletions': 0, 'lines': 0, 'files': 0}, 'files': {}}
for line in text.splitlines():
(insertions, deletions, filename) = line.split("\t")
hsh['total']['insertions'] += int(insertions)
hsh['total']['deletions'] += int(deletions)
hsh['total']['lines'] = (hsh['total']['deletions'] + hsh['total']['insertions'])
hsh['total']['files'] += 1
hsh['files'][filename.strip()] = {'insertions': int(insertions), 'deletions': int(deletions)}
return Stats(repo, hsh['total'], hsh['files'])