return NotImplemented
- def __iter__(self):
- builds = self.backend.builds._get_builds("SELECT builds.* FROM repositories_builds \
- LEFT JOIN builds ON repositories_builds.build_id = builds.id \
- WHERE repositories_builds.repo_id = %s", self.id)
-
- return iter(builds)
-
- def __len__(self):
- res = self.db.get("SELECT COUNT(*) AS len FROM repositories_builds \
- WHERE repo_id = %s", self.id)
-
- return res.len
-
- def __bool__(self):
- return True
-
@lazy_property
def next(self):
return self.backend.repos._get_repository("SELECT * FROM repositories \
def distro(self):
return self.backend.distros.get_by_id(self.data.distro_id)
+ # Priority
+
+ def get_priority(self):
+ return self.data.priority
+
def set_priority(self, priority):
self._set_attribute("priority", priority)
- priority = property(lambda s: s.data.priority, set_priority)
+ priority = property(get_priority, set_priority)
# Owner
@property
def description(self):
- return self.data.description or ""
+ return self.data.description
@property
def parent_id(self):
def arches(self):
return self.distro.arches + ["src"]
- def set_mirrored(self, mirrored):
- self._set_attribute("mirrored", mirrored)
-
- mirrored = property(lambda s: s.data.mirrored, set_mirrored)
-
- def set_enabled_for_builds(self, state):
- self._set_attribute("enabled_for_builds", state)
+ # Mirrored
- enabled_for_builds = property(lambda s: s.data.enabled_for_builds, set_enabled_for_builds)
+ def get_mirrored(self):
+ return self.data.mirrored
- @property
- def score_needed(self):
- return self.data.score_needed
-
- @property
- def time_min(self):
- return self.data.time_min
-
- @property
- def time_max(self):
- return self.data.time_max
-
- def set_update_forced(self, update_forced):
- self._set_attribute("update_forced", update_forced)
+ def set_mirrored(self, mirrored):
+ self._set_attribute("mirrored", mirrored)
- update_forced = property(lambda s: s.data.update_forced, set_update_forced)
+ mirrored = property(get_mirrored, set_mirrored)
def _log_build(self, action, build, from_repo=None, to_repo=None, user=None):
user_id = None
return { row.arch : row.size for row in res if row.arch in self.distro.arches }
- def updated(self):
- self.db.execute("UPDATE repositories SET last_update = NOW() \
- WHERE id = %s", self.id)
-
- # Reset forced update flag
- self.update_forced = False
-
def get_history(self, **kwargs):
kwargs.update({
"repo" : self,
return self.pakfire.repos.get_history(**kwargs)
- def get_build_times(self):
- times = []
- for arch in self.arches:
- if arch == "src":
- continue
-
- time = self.db.get("SELECT SUM(jobs.time_finished - jobs.time_started) AS time FROM jobs \
- JOIN builds ON builds.id = jobs.build_id \
- JOIN repositories_builds ON builds.id = repositories_builds.build_id \
- WHERE (jobs.arch = %s OR jobs.arch = %s) AND \
- jobs.test IS FALSE AND repositories_builds.repo_id = %s", arch, "noarch", self.id)
-
- times.append((arch, time.time.total_seconds() if time.time else 0))
-
- return times
-
class RepositoryAux(base.DataObject):
table = "repositories_aux"
distro_id integer NOT NULL,
owner_id integer,
priority integer DEFAULT 0 NOT NULL,
- auto_move boolean DEFAULT false NOT NULL
+ auto_move boolean DEFAULT false NOT NULL,
+ deleted boolean DEFAULT false NOT NULL
);
parent_id integer,
key_id integer,
mirrored boolean DEFAULT false NOT NULL,
- enabled_for_builds boolean DEFAULT false NOT NULL,
- score_needed integer DEFAULT 0 NOT NULL,
- last_update timestamp without time zone,
- time_min integer DEFAULT 0 NOT NULL,
- time_max integer DEFAULT 0 NOT NULL,
+ updated_at timestamp without time zone,
deleted boolean DEFAULT false NOT NULL,
priority integer,
owner_id integer,
- update_forced boolean DEFAULT false NOT NULL,
created_at timestamp without time zone DEFAULT CURRENT_TIMESTAMP NOT NULL,
listed boolean DEFAULT true NOT NULL
);