X-Git-Url: http://git.ipfire.org/?p=people%2Fjschlag%2Fpbs.git;a=blobdiff_plain;f=src%2Fbuildservice%2Fmirrors.py;fp=src%2Fbuildservice%2Fmirrors.py;h=df6576a35526483586bbfb58293be2f8e49796eb;hp=aefa7862a72eef195094b9ac5c918492f63e4ba1;hb=313331aa6eb8d8292e01c6331adc5d54190cb894;hpb=317dbc1232cffe20341bdfac190480422f0380b7 diff --git a/src/buildservice/mirrors.py b/src/buildservice/mirrors.py index aefa786..df6576a 100644 --- a/src/buildservice/mirrors.py +++ b/src/buildservice/mirrors.py @@ -17,23 +17,24 @@ log.propagate = 1 from .decorators import lazy_property class Mirrors(base.Object): - def __iter__(self): - res = self.db.query("SELECT * FROM mirrors \ - WHERE deleted IS FALSE ORDER BY hostname") - - mirrors = [] - for row in res: - mirror = Mirror(self.backend, row.id, data=row) - mirrors.append(mirror) - - return iter(mirrors) - def _get_mirror(self, query, *args): res = self.db.get(query, *args) if res: return Mirror(self.backend, res.id, data=res) + def _get_mirrors(self, query, *args): + res = self.db.query(query, *args) + + for row in res: + yield Mirror(self.backend, row.id, data=row) + + def __iter__(self): + mirrors = self._get_mirrors("SELECT * FROM mirrors \ + WHERE deleted IS FALSE ORDER BY hostname") + + return iter(mirrors) + def create(self, hostname, path="", owner=None, contact=None, user=None): mirror = self._get_mirror("INSERT INTO mirrors(hostname, path, owner, contact) \ VALUES(%s, %s, %s, %s) RETURNING *", hostname, path, owner, contact)