]> git.ipfire.org Git - pbs.git/blobdiff - src/buildservice/packages.py
packages: Make search work
[pbs.git] / src / buildservice / packages.py
index de9ce1aeaad9465ddddd7f8b09b3b04b74ce5487..a322dd612b7509b2c067e7d321e2902029c9a989 100644 (file)
@@ -133,28 +133,13 @@ class Packages(base.Object):
 
                        This function does not work for UUIDs or filenames.
                """
-               query = "SELECT * FROM packages \
-                       WHERE type = %s AND ( \
-                               name LIKE %s OR \
-                               summary LIKE %s OR \
-                               description LIKE %s \
-                       ) \
-                       GROUP BY name"
-
                pattern = "%%%s%%" % pattern
-               args = ("source", pattern, pattern, pattern)
-
-               res = self.db.query(query, *args)
-
-               pkgs = []
-               for row in res:
-                       pkg = Package(self.backend, row.id, row)
-                       pkgs.append(pkg)
 
-                       if limit and len(pkgs) >= limit:
-                               break
+               packages = self._get_packages("SELECT * FROM packages \
+                       WHERE type = %s AND (name LIKE %s OR summary LIKE %s OR description LIKE %s)",
+                       "source", pattern, pattern, pattern)
 
-               return pkgs
+               return list(packages)
 
        def search_by_filename(self, filename, limit=None):
                query = "SELECT filelists.* FROM filelists \