From 5f7b2db05a17bf2797c58fbc39f6183d596d0937 Mon Sep 17 00:00:00 2001 From: "T.C. Hollingsworth" Date: Tue, 12 Mar 2013 20:13:25 +0100 Subject: package_list: Support NPM-DEFAULT regex and URL --- cnucnu/package_list.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/cnucnu/package_list.py b/cnucnu/package_list.py index d5d6e88..637a009 100755 --- a/cnucnu/package_list.py +++ b/cnucnu/package_list.py @@ -158,6 +158,10 @@ class Package(object): # strip "rubygem-" prefix only if name was not overridden if not name_override and name.startswith("rubygem-"): name = name[len("rubygem-"):] + elif regex == "NPM-DEFAULT": + # strip "nodejs-" prefix only if name was not overridden + if not name_override and name.startswith("nodejs-"): + name = name[len("nodejs-"):] # no elif here, because the previous regex aliases are only for name altering if regex == "DEFAULT": @@ -176,6 +180,8 @@ class Package(object): regex = 'href="([0-9][0-9.]*)/"' elif regex == "RUBYGEMS-DEFAULT": regex = '"gem_uri":"http:\/\/rubygems.org\/gems\/%s-([0-9.]*?)\.gem"' % re.escape(name) + elif regex == "NPM-DEFAULT": + regex = '"version":"([0-9.]*?)"' self.__regex = regex self._invalidate_caches() @@ -234,6 +240,12 @@ class Package(object): if not name_override and name.startswith("rubygem-"): name = name[len("rubygem-"):] url = "http://rubygems.org/api/v1/gems/%s.json" % name + elif url == "NPM-DEFAULT": + # strip "nodejs-" prefix only if name was not overridden + if not name_override and name.startswith("nodejs-"): + name = name[len("nodejs-"):] + url = "http://registry.npmjs.org/%s" % name + self.__url = url self.html = None -- cgit