aboutsummaryrefslogtreecommitdiffhomepage
path: root/gbp
diff options
context:
space:
mode:
authorGuido Günther <agx@sigxcpu.org>2012-03-15 22:08:50 +0100
committerGuido Günther <agx@sigxcpu.org>2012-03-15 22:38:32 +0100
commita6bca603b9f3852a784afc76ea1d0a24306f3672 (patch)
tree76559a138b2af9ff334a9525cedb9702cd7b6eb3 /gbp
parent797a229ff721d2d831e6c08b06c3eea272c4dc2b (diff)
GitModifier: add __getitem__ and keys()
so it can be used as dictonary
Diffstat (limited to 'gbp')
-rw-r--r--gbp/git/modifier.py16
-rw-r--r--gbp/git/repository.py3
2 files changed, 18 insertions, 1 deletions
diff --git a/gbp/git/modifier.py b/gbp/git/modifier.py
index c77bb4d1..51d9693b 100644
--- a/gbp/git/modifier.py
+++ b/gbp/git/modifier.py
@@ -76,3 +76,19 @@ class GitModifier(object):
"""
return self._get_env('committer')
+ def __getitem__(self, key):
+ if key in self.keys():
+ return self.__dict__[key]
+ else:
+ raise KeyError
+
+ def keys(self):
+ return [ 'name', 'email', 'date' ]
+
+ def items(self):
+ items = []
+ for key in self.keys():
+ val = self.__dict__[key]
+ if val:
+ items.append((key, val))
+ return items
diff --git a/gbp/git/repository.py b/gbp/git/repository.py
index 3daf2da8..03b166c3 100644
--- a/gbp/git/repository.py
+++ b/gbp/git/repository.py
@@ -935,6 +935,7 @@ class GitRepository(object):
@type author: C{dict} with keys I{name}, I{email}, I{date}
@param committer: committer information to use for commit
@type committer: C{dict} with keys I{name}, I{email}, I{date}
+ or L{GitModifier}
@param create_missing_branch: create I{branch} as detached branch if it
doesn't already exist.
@type create_missing_branch: C{bool}
@@ -987,7 +988,7 @@ class GitRepository(object):
@param msg: commit message
@param parents: parents of this commit
@param author: authorship information
- @type author: C{dict} with keys 'name' and 'email'
+ @type author: C{dict} with keys 'name' and 'email' or L{GitModifier}
@param committer: comitter information
@type committer: C{dict} with keys 'name' and 'email'
"""