diff --git a/pym/euscan/handlers/berlios.py b/pym/euscan/handlers/berlios.py index 9667e77..9f716de 100644 --- a/pym/euscan/handlers/berlios.py +++ b/pym/euscan/handlers/berlios.py @@ -9,11 +9,14 @@ from euscan import output HANDLER_NAME = "berlios" CONFIDENCE = 90 -PRIORITY = 95 +PRIORITY = 90 + + +berlios_regex = r"berlios.de/([^/]+)/([^/]+)" def can_handle(pkg, url=None): - return url and "berlios.de/" in url + return url and re.search(berlios_regex, url) def scan_url(pkg, url, options): @@ -21,7 +24,7 @@ def scan_url(pkg, url, options): cp, ver, rev = portage.pkgsplit(pkg.cpv) - project, filename = re.search(r"berlios.de/(.+)/(.+)", url).groups() + project, filename = re.search(berlios_regex, url).groups() project_page = "http://developer.berlios.de/projects/%s" % project content = urllib.urlopen(project_page).read() diff --git a/pym/euscan/handlers/sourceforge.py b/pym/euscan/handlers/sourceforge.py index 8925a6d..df80863 100644 --- a/pym/euscan/handlers/sourceforge.py +++ b/pym/euscan/handlers/sourceforge.py @@ -20,7 +20,8 @@ def scan_url(pkg, url, options): cp, ver, rev = portage.pkgsplit(pkg.cpv) - project, filename = re.search("sourceforge.net/(.+)/(.+)", url).groups() + project, filename = re.search("sourceforge.net/([^/]+)/(?:.*/)?([^/]+)", + url).groups() base_url = "http://qa.debian.org/watch/sf.php/%s" % project file_pattern = regex_from_template( filename.replace(ver, "${PV}")