diff options
author | Till Maas <opensource@till.name> | 2012-07-03 22:37:54 +0200 |
---|---|---|
committer | Till Maas <opensource@till.name> | 2012-07-03 22:37:54 +0200 |
commit | 4c2602db6290c95a7dcb2bd3b1e889ced7a1cda7 (patch) | |
tree | a774d226bf0406fa744bd9e4649193c62f34ffb6 | |
parent | 5e8649f36fefca201b014cd6323b897afb8da0ef (diff) | |
download | cnucnu-4c2602db6290c95a7dcb2bd3b1e889ced7a1cda7.tar.gz cnucnu-4c2602db6290c95a7dcb2bd3b1e889ced7a1cda7.tar.xz cnucnu-4c2602db6290c95a7dcb2bd3b1e889ced7a1cda7.zip |
package_list: except invalid regular expression exception
-rwxr-xr-x | cnucnu/package_list.py | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/cnucnu/package_list.py b/cnucnu/package_list.py index 8927c45..eddd022 100755 --- a/cnucnu/package_list.py +++ b/cnucnu/package_list.py @@ -23,7 +23,8 @@ __docformat__ = "restructuredtext" # python default modules -import re +# sre_constants contains re exceptions +import re, sre_constants import urllib # cnucnu modules @@ -264,7 +265,10 @@ class Package(object): def upstream_versions(self): if not self._upstream_versions: - upstream_versions = re.findall(self.regex, self.html) + try: + upstream_versions = re.findall(self.regex, self.html) + except sre_constants.error, e: + raise cc_errors.UpstreamVersionRetrievalError("%s: invalid regular expression" % self.name) for version in upstream_versions: if " " in version: raise cc_errors.UpstreamVersionRetrievalError("%s: invalid upstream version:>%s< - %s - %s " % (self.name, version, self.url, self.regex)) |