diff options
author | Till Maas <opensource@till.name> | 2009-07-17 21:50:41 +0200 |
---|---|---|
committer | Till Maas <opensource@till.name> | 2009-07-17 21:56:30 +0200 |
commit | 9d38d7ec27bcbf8e32975a281f2753c90b9b1132 (patch) | |
tree | a5e7d3c85429b8a38e4689513b4b51ce34cf453e | |
parent | a88b87bab613268c232c8f7020ece5f9be80286f (diff) | |
download | cnucnu-9d38d7ec27bcbf8e32975a281f2753c90b9b1132.tar.gz cnucnu-9d38d7ec27bcbf8e32975a281f2753c90b9b1132.tar.xz cnucnu-9d38d7ec27bcbf8e32975a281f2753c90b9b1132.zip |
add freshmeat defaults for url and regex
FM-DEFAULT can now be used for url or regex to get defaults for
freshmeat. The checkshell now also support the command fm to test these
values.
-rw-r--r-- | lib/cnucnu/checkshell.py | 5 | ||||
-rw-r--r-- | lib/cnucnu/package_list.py | 10 |
2 files changed, 13 insertions, 2 deletions
diff --git a/lib/cnucnu/checkshell.py b/lib/cnucnu/checkshell.py index 2b60eb6..01be358 100644 --- a/lib/cnucnu/checkshell.py +++ b/lib/cnucnu/checkshell.py @@ -45,6 +45,11 @@ class CheckShell(cmd.Cmd): self.package.regex = "DEFAULT" if not self.package.url: self.package.url = "SF-DEFAULT" + + def do_fm(self, args): + self.package.name = args + self.package.regex = "FM-DEFAULT" + self.package.url = "FM-DEFAULT" def do_regex(self, args): self.package.regex = args diff --git a/lib/cnucnu/package_list.py b/lib/cnucnu/package_list.py index 7d31f88..05a127a 100644 --- a/lib/cnucnu/package_list.py +++ b/lib/cnucnu/package_list.py @@ -18,6 +18,7 @@ #}}} import sys +import re sys.path.insert(0, './lib') sys.path.insert(0, '../lib') sys.path.insert(0, '../../lib') @@ -28,6 +29,7 @@ from cnucnu.helper import rpm_cmp class Package(object): def __init__(self, name, regex, url, repo): + # :TODO: add some sanity checks self.name = name self.regex = regex @@ -57,7 +59,9 @@ class Package(object): def set_regex(self, regex): if regex == "DEFAULT": - regex = "%s-([0-9.]*)\\.[tz][ai][rp]" % self.name + regex = "%s-([0-9.]*)\\.[tz][ai][rp]" % re.escape(self.name) + elif regex == "FM-DEFAULT": + regex = '<a href="/projects/[^/]*/releases/[0-9]*">([^<]*)</a>' self.__regex = regex self._invalidate_caches() @@ -66,6 +70,9 @@ class Package(object): def set_url(self, url): if url == "SF-DEFAULT": url = "http://prdownloads.sourceforge.net/%s" % self.name + elif url == "FM-DEFAULT": + url = "http://freshmeat.net/projects/%s" % self.name + self.__url = url self._invalidate_caches() @@ -75,7 +82,6 @@ class Package(object): def upstream_versions(self): if not self._upstream_versions: from cnucnu.helper import get_html - import re try: html = get_html(self.url) |