From e87e62fc4969cb7d21e5fb07f7da505f48355e05 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Guido=20G=C3=BCnther?= Date: Tue, 15 Nov 2011 19:59:13 +0100 Subject: [PATCH] Move GitCommit class into separate file --- gbp/git/__init__.py | 26 +------------------------- gbp/git/commit.py | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+), 25 deletions(-) create mode 100644 gbp/git/commit.py diff --git a/gbp/git/__init__.py b/gbp/git/__init__.py index 2aef0d5..7c48444 100644 --- a/gbp/git/__init__.py +++ b/gbp/git/__init__.py @@ -26,37 +26,13 @@ import dateutil.parser import calendar from gbp.git.modifier import GitModifier +from gbp.git.commit import GitCommit from gbp.git.errors import GitError class GitRepositoryError(GitError): """Exception thrown by L{GitRepository}""" pass -class GitCommit(object): - """A git commit""" - sha1_re = re.compile(r'[0-9a-f]{40}$') - - @staticmethod - def is_sha1(value): - """ - Is I{value} a valid 40 digit SHA1? - - >>> GitCommit.is_sha1('asdf') - False - >>> GitCommit.is_sha1('deadbeef') - False - >>> GitCommit.is_sha1('17975594b2d42f2a3d144a9678fdf2c2c1dd96a0') - True - >>> GitCommit.is_sha1('17975594b2d42f2a3d144a9678fdf2c2c1dd96a0toolong') - False - - @param value: the value to check - @type value: C{str} - @return: C{True} if I{value} is a 40 digit SHA1, C{False} otherwise. - @rtype: C{bool} - """ - return True if GitCommit.sha1_re.match(value) else False - class GitRepository(object): """ diff --git a/gbp/git/commit.py b/gbp/git/commit.py new file mode 100644 index 0000000..699f1a2 --- /dev/null +++ b/gbp/git/commit.py @@ -0,0 +1,48 @@ +# vim: set fileencoding=utf-8 : +# +# (C) 2011 Guido Guenther +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +"""Git commit class and helpers""" + +import re + +from gbp.git.errors import GitError + +class GitCommit(object): + """A git commit""" + sha1_re = re.compile(r'[0-9a-f]{40}$') + + @staticmethod + def is_sha1(value): + """ + Is I{value} a valid 40 digit SHA1? + + >>> GitCommit.is_sha1('asdf') + False + >>> GitCommit.is_sha1('deadbeef') + False + >>> GitCommit.is_sha1('17975594b2d42f2a3d144a9678fdf2c2c1dd96a0') + True + >>> GitCommit.is_sha1('17975594b2d42f2a3d144a9678fdf2c2c1dd96a0toolong') + False + + @param value: the value to check + @type value: C{str} + @return: C{True} if I{value} is a 40 digit SHA1, C{False} otherwise. + @rtype: C{bool} + """ + return True if GitCommit.sha1_re.match(value) else False + + -- 2.7.4