diff options
author | Sebastian Thiel <byronimo@gmail.com> | 2010-06-14 17:25:05 +0200 |
---|---|---|
committer | Sebastian Thiel <byronimo@gmail.com> | 2010-06-14 17:25:05 +0200 |
commit | c9dbf201b4f0b3c2b299464618cb4ecb624d272c (patch) | |
tree | b0267c9f527682c2c420d00350e98f7e7bbe9969 /lib/git/stats.py | |
parent | 38b3cfb9b24a108e0720f7a3f8d6355f7e0bb1a9 (diff) | |
download | gitpython-c9dbf201b4f0b3c2b299464618cb4ecb624d272c.tar.gz |
Moved small types that had their own module into the utils module
Diffstat (limited to 'lib/git/stats.py')
-rw-r--r-- | lib/git/stats.py | 60 |
1 files changed, 0 insertions, 60 deletions
diff --git a/lib/git/stats.py b/lib/git/stats.py deleted file mode 100644 index 6b759b7f..00000000 --- a/lib/git/stats.py +++ /dev/null @@ -1,60 +0,0 @@ -# stats.py -# Copyright (C) 2008, 2009 Michael Trier (mtrier@gmail.com) and contributors -# -# This module is part of GitPython and is released under -# the BSD License: http://www.opensource.org/licenses/bsd-license.php - -class Stats(object): - """ - Represents stat information as presented by git at the end of a merge. It is - created from the output of a diff operation. - - ``Example``:: - - c = Commit( sha1 ) - s = c.stats - s.total # full-stat-dict - s.files # dict( filepath : stat-dict ) - - ``stat-dict`` - - A dictionary with the following keys and values:: - - deletions = number of deleted lines as int - insertions = number of inserted lines as int - lines = total number of lines changed as int, or deletions + insertions - - ``full-stat-dict`` - - In addition to the items in the stat-dict, it features additional information:: - - files = number of changed files as int - - """ - __slots__ = ("total", "files") - - def __init__(self, total, files): - self.total = total - self.files = files - - @classmethod - def _list_from_string(cls, repo, text): - """ - Create a Stat object from output retrieved by git-diff. - - Returns - git.Stat - """ - hsh = {'total': {'insertions': 0, 'deletions': 0, 'lines': 0, 'files': 0}, 'files': {}} - for line in text.splitlines(): - (raw_insertions, raw_deletions, filename) = line.split("\t") - insertions = raw_insertions != '-' and int(raw_insertions) or 0 - deletions = raw_deletions != '-' and int(raw_deletions) or 0 - hsh['total']['insertions'] += insertions - hsh['total']['deletions'] += deletions - hsh['total']['lines'] += insertions + deletions - hsh['total']['files'] += 1 - hsh['files'][filename.strip()] = {'insertions': insertions, - 'deletions': deletions, - 'lines': insertions + deletions} - return Stats(hsh['total'], hsh['files']) |