diff options
Diffstat (limited to 'RepSys/__init__.py')
-rw-r--r-- | RepSys/__init__.py | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/RepSys/__init__.py b/RepSys/__init__.py index c371e7a..c394746 100644 --- a/RepSys/__init__.py +++ b/RepSys/__init__.py @@ -1,9 +1,28 @@ #!/usr/bin/python +import re +import os import ConfigParser + config = ConfigParser.Config() del ConfigParser class Error(Exception): pass +class RepSysTree: + """ + This class just hold methods that abstract all the not-so-explicit + rules about the directory structure of a repsys repository. + """ + def fixpath(cls, url): + return re.sub("/+$", "", url) + fixpath = classmethod(fixpath) + + def pkgname(cls, pkgdirurl): + # we must remove trailling slashes in the package path because + # os.path.basename could return "" from URLs ending with "/" + fixedurl = cls.fixpath(pkgdirurl) + return os.path.basename(fixedurl) + pkgname = classmethod(pkgname) + # vim:et:ts=4:sw=4 |