]>
git.ipfire.org Git - people/jschlag/pbs.git/blob - src/buildservice/updates.py
5 class Updates(base
.Object
):
6 def __init__(self
, pakfire
):
7 base
.Object
.__init
__(self
, pakfire
)
9 def get(self
, type, distro
=None, limit
=None, offset
=None):
10 assert type in ("stable", "unstable", "testing")
12 query
= "SELECT * FROM repositories_builds \
13 JOIN builds ON builds.id = repositories_builds.build_id \
14 WHERE builds.type = 'release' AND \
15 repositories_builds.repo_id IN \
16 (SELECT id FROM repositories WHERE type = %s)"
20 query
+= " AND builds.distro_id = %s"
21 args
.append(distro
.id)
23 query
+= " ORDER BY time_added DESC"
27 query
+= " LIMIT %s,%s"
28 args
+= [offset
, limit
]
34 for row
in self
.db
.query(query
, *args
):
35 update
= Update(self
.pakfire
, row
)
36 updates
.append(update
)
40 def get_latest(self
, type):
41 return self
.get(type=type, limit
=5)
45 class Update(base
.Object
):
46 def __init__(self
, pakfire
, data
):
47 base
.Object
.__init
__(self
, pakfire
)
55 if self
._build
is None:
56 self
._build
= self
.pakfire
.builds
.get_by_id(self
.data
.build_id
)
63 return self
.build
.name
66 def description(self
):
67 return self
.build
.message
72 for line
in self
.description
.splitlines():
79 line
= "%s..." % line
[:60]
85 return self
.build
.severity
89 return self
.build
.distro
93 return self
.build
.score
97 return self
.data
.time_added