From: Michael Tremer Date: Sun, 13 Feb 2011 10:55:53 +0000 (+0100) Subject: Fixes on filelist output. X-Git-Tag: 0.9.3~186 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=18ae128ea3b1ae208090b5a0ab4f0b171b2ec808;p=pakfire.git Fixes on filelist output. Always make sure there is a leading slash. --- diff --git a/pakfire/packages/file.py b/pakfire/packages/file.py index e25f0813b..6ca78ad9e 100644 --- a/pakfire/packages/file.py +++ b/pakfire/packages/file.py @@ -91,7 +91,13 @@ class FilePackage(Package): def __filelist_from_metadata(self): f = self.get_file("filelist") - ret = f.readlines() + ret = [] + for line in f.readlines(): + line = line.strip() + if not line.startswith("/"): + line = "/%s" % line + + ret.append(line) f.close() @@ -121,10 +127,13 @@ class FilePackage(Package): read it instead. The latter is a very slow procedure and should not be used anyway. """ - try: - return self.__filelist_from_metadata() - except KeyError: - return self.__filelist_from_payload() + if not hasattr(self, "__filelist"): + try: + self.__filelist = self.__filelist_from_metadata() + except KeyError: + self.__filelist = self.__filelist_from_payload() + + return self.__filelist @property def payload_compression(self): diff --git a/pakfire/packages/installed.py b/pakfire/packages/installed.py index ffce0c22e..5ddb2d0e7 100644 --- a/pakfire/packages/installed.py +++ b/pakfire/packages/installed.py @@ -125,7 +125,11 @@ class InstalledPackage(Package): c.execute("SELECT name FROM files WHERE pkg = '%s'" % self.id) # XXX? for f in c: - yield f["name"] + filename = f["name"] + if not filename.startswith("/"): + filename = "/%s" % filename + + yield filename c.close()