diff options
Diffstat (limited to 'patchtracker')
-rwxr-xr-x | patchtracker/ReqHandler.py | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/patchtracker/ReqHandler.py b/patchtracker/ReqHandler.py index c928bb6..af54116 100755 --- a/patchtracker/ReqHandler.py +++ b/patchtracker/ReqHandler.py @@ -91,14 +91,17 @@ class PackageCmd(Cmd): else: version = None self.toc = db.findCollection(package=self.name, version=version) - if self.toc.size() == 0: - if len(self.name) >= 3: + + # if there's no match, try with a wildcard match + if not self.toc.size(): + # ... but don't allow pathologically short names + if len(self.name) < 3: + raise ReqHandlerException("search terms must be 3 or more letters...") + else: self.toc = db.findCollection(package="%"+self.name+"%", version=version) plist = self.toc.getletter(self.name) - if len(self.name) < 3: - raise ReqHandlerException("search terms must be 3 or more letters...") - elif not plist or len(plist) == 0: + if not plist or len(plist) == 0: raise ReqHandlerException("can't find any package named or containing '%s'"%self.name, code="404 ENOPKG kthxbye") def output(self): |