]>
git.ipfire.org Git - people/jschlag/pbs.git/blob - src/buildservice/updates.py
97684527233e9d3fbfaa2b945d768f5b4d14b1cf
7 class Updates(base
.Object
):
8 def __init__(self
, pakfire
):
9 base
.Object
.__init
__(self
, pakfire
)
11 def get(self
, type, distro
=None, limit
=None, offset
=None):
12 assert type in ("stable", "unstable", "testing")
14 query
= "SELECT * FROM repositories_builds \
15 JOIN builds ON builds.id = repositories_builds.build_id \
16 WHERE builds.type = 'release' AND \
17 repositories_builds.repo_id IN \
18 (SELECT id FROM repositories WHERE type = %s)"
22 query
+= " AND builds.distro_id = %s"
23 args
.append(distro
.id)
25 query
+= " ORDER BY time_added DESC"
29 query
+= " LIMIT %s,%s"
30 args
+= [offset
, limit
]
36 for row
in self
.db
.query(query
, *args
):
37 update
= Update(self
.pakfire
, row
)
38 updates
.append(update
)
42 def get_latest(self
, type):
43 return self
.get(type=type, limit
=5)
47 class Update(base
.Object
):
48 def __init__(self
, pakfire
, data
):
49 base
.Object
.__init
__(self
, pakfire
)
57 if self
._build
is None:
58 self
._build
= self
.pakfire
.builds
.get_by_id(self
.data
.build_id
)
65 return self
.build
.name
68 def description(self
):
69 return self
.build
.message
74 for line
in self
.description
.splitlines():
81 line
= "%s..." % line
[:60]
87 return self
.build
.severity
91 return self
.build
.distro
95 return self
.build
.score
99 return self
.data
.time_added