aboutsummaryrefslogtreecommitdiffstats
path: root/RepSys/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'RepSys/__init__.py')
-rw-r--r--RepSys/__init__.py19
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