import logging
-from . import arches
from . import base
-from . import builds
from . import packages
from . import sources
def __repr__(self):
return "<%s %s>" % (self.__class__.__name__, self.name)
- def __iter__(self):
- return iter(self.repositories)
-
@property
def info(self):
return {
def sname(self):
return self.data.sname
- @property
- def identifier(self):
- return self.sname
-
@property
def slogan(self):
return self.data.slogan
- def get_arches(self):
- res = self.db.query("SELECT arch FROM distributions_arches \
- WHERE distro_id = %s ORDER BY arch", self.id)
-
- return sorted((row.arch for row in res), key=arches.priority)
+ @property
+ def description(self):
+ return self.data.description
- def set_arches(self, arches):
- self.db.execute("DELETE FROM distro_arches WHERE distro_id = %s", self.id)
+ # Arches
- for arch in arches:
- self.db.execute("INSERT INTO distro_arches(distro_id, arch) \
- VALUES(%s, %s)", self.id, arch)
+ def get_arches(self):
+ return self.data.arches
- self.arches = sorted(arches)
+ def set_arches(self, arches):
+ self._set_attribute("arches", arches)
- arches = lazy_property(get_arches, set_arches)
+ arches = property(get_arches, set_arches)
@property
def vendor(self):
tag = property(get_tag, set_tag)
- @property
- def description(self):
- return self.data.description or ""
-
@lazy_property
def repositories(self):
_repositories = self.backend.repos._get_repositories("SELECT * FROM repositories \
vendor text NOT NULL,
contact text,
tag text NOT NULL,
- deleted boolean DEFAULT false NOT NULL
+ deleted boolean DEFAULT false NOT NULL,
+ arches text[] DEFAULT ARRAY[]::text[] NOT NULL,
+ created_at timestamp without time zone DEFAULT CURRENT_TIMESTAMP NOT NULL
);
ALTER TABLE public.distributions OWNER TO pakfire;
---
--- Name: distributions_arches; Type: TABLE; Schema: public; Owner: pakfire
---
-
-CREATE TABLE public.distributions_arches (
- id integer NOT NULL,
- distro_id integer NOT NULL,
- arch text NOT NULL
-);
-
-
-ALTER TABLE public.distributions_arches OWNER TO pakfire;
-
--
-- Name: distributions_id_seq; Type: SEQUENCE; Schema: public; Owner: pakfire
--
ALTER SEQUENCE public.distributions_id_seq OWNED BY public.distributions.id;
---
--- Name: distro_arches_id_seq; Type: SEQUENCE; Schema: public; Owner: pakfire
---
-
-CREATE SEQUENCE public.distro_arches_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1;
-
-
-ALTER TABLE public.distro_arches_id_seq OWNER TO pakfire;
-
---
--- Name: distro_arches_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: pakfire
---
-
-ALTER SEQUENCE public.distro_arches_id_seq OWNED BY public.distributions_arches.id;
-
-
--
-- Name: filelists; Type: TABLE; Schema: public; Owner: pakfire
--
ALTER TABLE ONLY public.distributions ALTER COLUMN id SET DEFAULT nextval('public.distributions_id_seq'::regclass);
---
--- Name: distributions_arches id; Type: DEFAULT; Schema: public; Owner: pakfire
---
-
-ALTER TABLE ONLY public.distributions_arches ALTER COLUMN id SET DEFAULT nextval('public.distro_arches_id_seq'::regclass);
-
-
--
-- Name: images_types id; Type: DEFAULT; Schema: public; Owner: pakfire
--
ADD CONSTRAINT arches_name UNIQUE (name);
+--
+-- Name: distributions distributions_pkey; Type: CONSTRAINT; Schema: public; Owner: pakfire
+--
+
+ALTER TABLE ONLY public.distributions
+ ADD CONSTRAINT distributions_pkey PRIMARY KEY (id);
+
+
--
-- Name: arches idx_2197943_primary; Type: CONSTRAINT; Schema: public; Owner: pakfire
--
ADD CONSTRAINT idx_2198033_primary PRIMARY KEY (id);
---
--- Name: distributions idx_2198039_primary; Type: CONSTRAINT; Schema: public; Owner: pakfire
---
-
-ALTER TABLE ONLY public.distributions
- ADD CONSTRAINT idx_2198039_primary PRIMARY KEY (id);
-
-
---
--- Name: distributions_arches idx_2198048_primary; Type: CONSTRAINT; Schema: public; Owner: pakfire
---
-
-ALTER TABLE ONLY public.distributions_arches
- ADD CONSTRAINT idx_2198048_primary PRIMARY KEY (id);
-
-
--
-- Name: images_types idx_2198057_primary; Type: CONSTRAINT; Schema: public; Owner: pakfire
--
CREATE INDEX builds_watchers_build_id ON public.builds_watchers USING btree (build_id);
---
--- Name: distributions_arches_distro_id; Type: INDEX; Schema: public; Owner: pakfire
---
-
-CREATE INDEX distributions_arches_distro_id ON public.distributions_arches USING btree (distro_id);
-
-
--
-- Name: distributions_sname; Type: INDEX; Schema: public; Owner: pakfire
--
ADD CONSTRAINT builds_watchers_user_id FOREIGN KEY (user_id) REFERENCES public.users(id);
---
--- Name: distributions_arches distributions_arches_arch; Type: FK CONSTRAINT; Schema: public; Owner: pakfire
---
-
-ALTER TABLE ONLY public.distributions_arches
- ADD CONSTRAINT distributions_arches_arch FOREIGN KEY (arch) REFERENCES public.arches(name);
-
-
---
--- Name: distributions_arches distro_arches_distro_id; Type: FK CONSTRAINT; Schema: public; Owner: pakfire
---
-
-ALTER TABLE ONLY public.distributions_arches
- ADD CONSTRAINT distro_arches_distro_id FOREIGN KEY (distro_id) REFERENCES public.distributions(id);
-
-
--
-- Name: filelists filelists_pkg_id; Type: FK CONSTRAINT; Schema: public; Owner: pakfire
--