aboutsummaryrefslogtreecommitdiff
path: root/pym
diff options
context:
space:
mode:
authorvolpino <fox91@anche.no>2012-09-14 16:56:52 +0200
committerCorentin Chary <corentin.chary@gmail.com>2012-10-29 13:06:03 +0100
commit056b00f7096b43cc05dcec3373be205062ac4b6d (patch)
tree2822cf83da733e96b74615775f74f496bbbe3c65 /pym
parenteuscan: Adding freecode handler (diff)
downloadeuscan-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.py46
-rw-r--r--pym/euscan/handlers/freecode.py2
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)