]> git.ipfire.org Git - people/jschlag/pbs.git/commitdiff
Reduce number of queries when searching for a package by UUID.
authorMichael Tremer <michael.tremer@ipfire.org>
Mon, 3 Dec 2012 15:01:49 +0000 (16:01 +0100)
committerMichael Tremer <michael.tremer@ipfire.org>
Mon, 3 Dec 2012 15:01:49 +0000 (16:01 +0100)
backend/packages.py

index 0b3b3cdf060542da4ae71026a363a5ee561198d1..5f923f230ee0ab97a185126ca70d45dc546dba32 100644 (file)
@@ -52,11 +52,11 @@ class Packages(base.Object):
                return [(n.name, n.summary) for n in self.db.query(query, *args)]
 
        def get_by_uuid(self, uuid):
-               pkg = self.db.get("SELECT id FROM packages WHERE uuid = %s LIMIT 1", uuid)
+               pkg = self.db.get("SELECT * FROM packages WHERE uuid = %s LIMIT 1", uuid)
                if not pkg:
                        return
 
-               return Package(self.pakfire, pkg.id)
+               return Package(self.pakfire, pkg.id, pkg)
 
        def search(self, pattern, limit=None):
                """
@@ -120,14 +120,14 @@ class Packages(base.Object):
 
 
 class Package(base.Object):
-       def __init__(self, pakfire, id):
+       def __init__(self, pakfire, id, data=None):
                base.Object.__init__(self, pakfire)
 
                # The ID of the package.
                self.id = id
 
                # Cache.
-               self._data = None
+               self._data = data
                self._deps = None
                self._arch = None
                self._filelist = None