Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
import pakfire
from . import base
+from . import misc
from . import packages
from . import sources
from .decorators import *
return self._get_distribution("SELECT * FROM distributions \
WHERE slug = %s AND deleted IS FALSE", slug)
+ def create(self, name, tag):
+ slug = misc.normalize(name)
+
+ # Insert into the database
+ return self._get_distribution("""
+ INSERT INTO
+ distributions(
+ name, slug, tag
+ )
+ VALUES(
+ %s, %s, %s
+ )
+ RETURNING
+ *""",
+ name, slug, tag,
+ )
+
class Distribution(base.DataObject):
table = "distributions"
id integer NOT NULL,
name text NOT NULL,
slug text NOT NULL,
- slogan text NOT NULL,
- description text,
- vendor text NOT NULL,
- contact text,
+ slogan text DEFAULT ''::text NOT NULL,
+ description text DEFAULT ''::text NOT NULL,
+ vendor text DEFAULT ''::text NOT NULL,
+ contact text DEFAULT ''::text NOT NULL,
tag text NOT NULL,
deleted boolean DEFAULT false NOT NULL,
arches text[] DEFAULT ARRAY[]::text[] NOT NULL,