From: Michael Tremer Date: Sat, 11 Mar 2023 16:32:04 +0000 (+0000) Subject: packages: Import mimetypes and make all text files viewable X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2670f00b75d462098a765a6679a07157a14eea38;p=pbs.git packages: Import mimetypes and make all text files viewable Signed-off-by: Michael Tremer --- diff --git a/src/buildservice/packages.py b/src/buildservice/packages.py index 95f66f64..9a4b8407 100644 --- a/src/buildservice/packages.py +++ b/src/buildservice/packages.py @@ -445,6 +445,7 @@ class Package(base.DataObject): gname, ctime, mtime, + mimetype, digest_sha2_512, digest_sha2_256, digest_blake2b512, @@ -454,7 +455,7 @@ class Package(base.DataObject): ) VALUES ( - %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s + %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s )""", (( self.id, @@ -465,6 +466,7 @@ class Package(base.DataObject): file.gname, file.ctime, file.mtime, + file.mimetype, file.digest("sha2-512"), file.digest("sha2-256"), file.digest("blake2b512"), @@ -591,6 +593,10 @@ class File(base.Object): def mtime(self): return self.data.mtime + @property + def mimetype(self): + return self.data.mimetype + @property def capabilities(self): return self.data.capabilities @@ -619,6 +625,10 @@ class File(base.Object): if self.size == 0: return False + # Files that are of type text/* are viewable + if self.mimetype and self.mimetype.startswith("text/"): + return True + for ext in FILE_EXTENSIONS_VIEWABLE: if self.path.endswith(ext): return True diff --git a/src/database.sql b/src/database.sql index e7711479..0af4f78f 100644 --- a/src/database.sql +++ b/src/database.sql @@ -712,7 +712,8 @@ CREATE TABLE public.package_files ( digest_blake2b512 bytea, digest_blake2s256 bytea, digest_sha3_512 bytea, - digest_sha3_256 bytea + digest_sha3_256 bytea, + mimetype text );