summaryrefslogtreecommitdiff
path: root/patchtracker
diff options
context:
space:
mode:
Diffstat (limited to 'patchtracker')
-rwxr-xr-xpatchtracker/ReqHandler.py13
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):