diff options
author | volpino <fox91@anche.no> | 2012-09-14 16:56:52 +0200 |
---|---|---|
committer | Corentin Chary <corentin.chary@gmail.com> | 2012-10-29 13:06:03 +0100 |
commit | 056b00f7096b43cc05dcec3373be205062ac4b6d (patch) | |
tree | 2822cf83da733e96b74615775f74f496bbbe3c65 /pym | |
parent | euscan: Adding freecode handler (diff) | |
download | euscan-056b00f7096b43cc05dcec3373be205062ac4b6d.tar.gz euscan-056b00f7096b43cc05dcec3373be205062ac4b6d.tar.bz2 euscan-056b00f7096b43cc05dcec3373be205062ac4b6d.zip |
euscan: Adding naive deb handler, TODO updated
Signed-off-by: volpino <fox91@anche.no>
Diffstat (limited to 'pym')
-rw-r--r-- | pym/euscan/handlers/deb.py | 46 | ||||
-rw-r--r-- | pym/euscan/handlers/freecode.py | 2 |
2 files changed, 47 insertions, 1 deletions
diff --git a/pym/euscan/handlers/deb.py b/pym/euscan/handlers/deb.py new file mode 100644 index 0000000..156158b --- /dev/null +++ b/pym/euscan/handlers/deb.py @@ -0,0 +1,46 @@ +import urllib +import re + +import portage + +from euscan import mangling, helpers, output + +HANDLER_NAME = "deb" +CONFIDENCE = 100 +PRIORITY = 90 + + +def can_handle(pkg, url=None): + return False + + +def scan_pkg(pkg, options): + cp, ver, rev = portage.pkgsplit(pkg.cpv) + + packages_url, package_name = options['data'].strip().split(" ", 1) + + output.einfo("Using Debian Packages: " + packages_url) + + fp = urllib.urlopen(packages_url) + content = fp.read() + + # TODO: Add support for .gz and .bz2 Packages file + + content = content.split("\n\n") + + result = [] + + for package_info in content: + for line in package_info.split("\n"): + res = re.search("^Version: (.*)$", line) + if res: + result.append(res.group(1)) + + ret = [] + for up_pv in result: + url = "" # TODO: How to find the url? + pv = mangling.mangle_version(up_pv, options) + if helpers.version_filtered(cp, ver, pv): + continue + ret.append((url, pv, HANDLER_NAME, CONFIDENCE)) + return ret diff --git a/pym/euscan/handlers/freecode.py b/pym/euscan/handlers/freecode.py index ebfe852..b811e32 100644 --- a/pym/euscan/handlers/freecode.py +++ b/pym/euscan/handlers/freecode.py @@ -17,7 +17,7 @@ def can_handle(pkg, url=None): def scan_pkg(pkg, options): cp, ver, rev = portage.pkgsplit(pkg.cpv) - package = options['data'] + package = options['data'].strip() output.einfo("Using FreeCode handler: " + package) |