]> git.ipfire.org Git - pbs.git/commitdiff
images: Split them off into their own module
authorMichael Tremer <michael.tremer@ipfire.org>
Tue, 21 Jan 2025 10:51:16 +0000 (10:51 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Tue, 21 Jan 2025 10:51:16 +0000 (10:51 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Makefile.am
src/buildservice/distribution.py
src/buildservice/images.py [new file with mode: 0644]

index 6aa4cae5ace01f8ae09ec15312e5a542450c909e..2de1c0217f6d23c4d3cf2be479d16d76ceaca56f 100644 (file)
@@ -95,6 +95,7 @@ buildservice_PYTHON = \
        src/buildservice/errors.py \
        src/buildservice/events.py \
        src/buildservice/httpclient.py \
+       src/buildservice/images.py \
        src/buildservice/jobs.py \
        src/buildservice/keys.py \
        src/buildservice/logstreams.py \
index 86151aea5bc9e7890dfee9ac92e1db0dc0c80c2a..63944fbc46497e43f5cab155a7e3013738d831d8 100644 (file)
@@ -367,26 +367,3 @@ class Distro(database.Base, database.BackendMixin, database.SoftDeleteMixin):
                # XXX create image jobs
 
                return release
-
-
-
-class Image(database.Base, database.BackendMixin, database.SoftDeleteMixin):
-       __tablename__ = "release_images"
-
-       # ID
-
-       id = Column(Integer, primary_key=True)
-
-       # Release ID
-
-       release_id = Column(Integer, ForeignKey("releases.id"), nullable=False)
-
-       # Release
-
-       release = sqlalchemy.orm.relationship(
-               "Release", foreign_keys=[release_id], lazy="selectin",
-       )
-
-       # Arch
-
-       arch = Column(Text, nullable=False)
diff --git a/src/buildservice/images.py b/src/buildservice/images.py
new file mode 100644 (file)
index 0000000..9d8a407
--- /dev/null
@@ -0,0 +1,51 @@
+###############################################################################
+#                                                                             #
+# Pakfire - The IPFire package management system                              #
+# Copyright (C) 2025 Pakfire development team                                 #
+#                                                                             #
+# This program is free software: you can redistribute it and/or modify        #
+# it under the terms of the GNU General Public License as published by        #
+# the Free Software Foundation, either version 3 of the License, or           #
+# (at your option) any later version.                                         #
+#                                                                             #
+# This program is distributed in the hope that it will be useful,             #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
+# GNU General Public License for more details.                                #
+#                                                                             #
+# You should have received a copy of the GNU General Public License           #
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
+#                                                                             #
+###############################################################################
+
+import logging
+
+import sqlalchemy
+from sqlalchemy import Column, ForeignKey
+from sqlalchemy import Integer, Text
+
+from . import database
+
+# Setup logging
+log = logging.getLogger("pbs.images")
+
+class Image(database.Base, database.BackendMixin, database.SoftDeleteMixin):
+       __tablename__ = "release_images"
+
+       # ID
+
+       id = Column(Integer, primary_key=True)
+
+       # Release ID
+
+       release_id = Column(Integer, ForeignKey("releases.id"), nullable=False)
+
+       # Release
+
+       release = sqlalchemy.orm.relationship(
+               "Release", foreign_keys=[release_id], lazy="selectin",
+       )
+
+       # Arch
+
+       arch = Column(Text, nullable=False)