From df1da16e4562abc49afb2a33a48d115e671242b5 Mon Sep 17 00:00:00 2001 From: Corentin Chary Date: Mon, 29 Oct 2012 13:05:20 +0100 Subject: [PATCH] euscan/handlers: we need the file version Signed-off-by: Corentin Chary --- pym/euscan/handlers/berlios.py | 9 ++++++++- pym/euscan/handlers/google_code.py | 8 +++++++- pym/euscan/handlers/sourceforge.py | 9 ++++++++- 3 files changed, 23 insertions(+), 3 deletions(-) diff --git a/pym/euscan/handlers/berlios.py b/pym/euscan/handlers/berlios.py index bbfe6e1..11471e4 100644 --- a/pym/euscan/handlers/berlios.py +++ b/pym/euscan/handlers/berlios.py @@ -16,7 +16,14 @@ berlios_regex = r"mirror://berlios/([^/]+)/([^/]+)" def can_handle(pkg, url=None): - return url and re.search(berlios_regex, url) + if not url: + return False + + cp, ver, rev = portage.pkgsplit(pkg.cpv) + if ver not in url: + return False + + return re.search(berlios_regex, url) def scan_url(pkg, url, options): diff --git a/pym/euscan/handlers/google_code.py b/pym/euscan/handlers/google_code.py index 892064f..d6c5bd1 100644 --- a/pym/euscan/handlers/google_code.py +++ b/pym/euscan/handlers/google_code.py @@ -14,8 +14,14 @@ package_name_regex = r"http://(.+).googlecode.com/files/.+" def can_handle(pkg, url=None): - return url and re.match(package_name_regex, url) + if not url: + return False + cp, ver, rev = portage.pkgsplit(pkg.cpv) + if ver not in url: + return False + + return re.match(package_name_regex, url) def scan_url(pkg, url, options): output.einfo("Using Google Code handler") diff --git a/pym/euscan/handlers/sourceforge.py b/pym/euscan/handlers/sourceforge.py index 11563e0..0508289 100644 --- a/pym/euscan/handlers/sourceforge.py +++ b/pym/euscan/handlers/sourceforge.py @@ -12,7 +12,14 @@ PRIORITY = 90 def can_handle(pkg, url=None): - return url and "mirror://sourceforge/" in url + if not url: + return False + + cp, ver, rev = portage.pkgsplit(pkg.cpv) + if ver not in url: + return False + + return "mirror://sourceforge/" in url def scan_url(pkg, url, options):