From db3505fd249ca5437d137403d73eafe4e6087240 Mon Sep 17 00:00:00 2001 From: Guido Günther Date: Fri, 22 Mar 2013 17:59:14 +0100 Subject: Better document how one derives from PkgTypes --- gbp/pkg/__init__.py | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) (limited to 'gbp/pkg') diff --git a/gbp/pkg/__init__.py b/gbp/pkg/__init__.py index 6d8fee9..e68fc61 100644 --- a/gbp/pkg/__init__.py +++ b/gbp/pkg/__init__.py @@ -35,16 +35,40 @@ compressor_aliases = { 'bz2' : 'bzip2', 'gz' : 'gzip', } class PkgPolicy(object): + """ + Common helpers for packaging policy. + """ + packagename_re = None + packagename_msg = None + upstreamversion_re = None + upstreamversion_msg = None + @classmethod def is_valid_packagename(cls, name): - "Is this a valid package name?" + """ + Is this a valid package name? + + >>> PkgPolicy.is_valid_packagename('doesnotmatter') + Traceback (most recent call last): + ... + NotImplementedError: Class needs to provide packagename_re + """ + if cls.packagename_re is None: + raise NotImplementedError("Class needs to provide packagename_re") return True if cls.packagename_re.match(name) else False @classmethod def is_valid_upstreamversion(cls, version): """ Is this a valid upstream version number? + + >>> PkgPolicy.is_valid_upstreamversion('doesnotmatter') + Traceback (most recent call last): + ... + NotImplementedError: Class needs to provide upstreamversion_re """ + if cls.upstreamversion_re is None: + raise NotImplementedError("Class needs to provide upstreamversion_re") return True if cls.upstreamversion_re.match(version) else False @staticmethod -- cgit v1.2.3