]> git.ipfire.org Git - pbs.git/commitdiff
packages: Import mimetypes and make all text files viewable
authorMichael Tremer <michael.tremer@ipfire.org>
Sat, 11 Mar 2023 16:32:04 +0000 (16:32 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Sat, 11 Mar 2023 16:32:04 +0000 (16:32 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/buildservice/packages.py
src/database.sql

index 95f66f6475095a7721c228887cae4e8880ad724a..9a4b84071ead402af0f81fc707e318602801c674 100644 (file)
@@ -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
index e7711479b3d2284c1ee0214c2e4fdf20b69a7c9b..0af4f78f37542ac7f8c0ab92ea12abb131ef69f6 100644 (file)
@@ -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
 );