]>
git.ipfire.org Git - people/jschlag/pbs.git/blob - src/buildservice/logs.py
9 class LogEntry(base
.Object
):
12 def __init__(self
, pakfire
, data
):
13 base
.Object
.__init
__(self
, pakfire
)
19 def __cmp__(self
, other
):
20 return cmp(other
.time
, self
.time
)
27 user_id
= getattr(self
.data
, "user_id", None)
32 return self
.pakfire
.users
.get_by_id(self
.data
.user_id
)
36 if self
._user
is None:
37 self
._user
= self
.get_user()
41 def get_title(self
, user
=None):
44 def get_message(self
, user
=None):
45 raise NotImplementedError
47 def get_footer(self
, user
=None):
51 class CreatedLogEntry(LogEntry
):
60 return self
.build
.created
63 if self
.build
.type == "scratch":
64 return self
.build
.owner
66 def get_message(self
, user
=None):
67 return _("Build has been created")
70 class CommentLogEntry(LogEntry
):
75 return self
.data
.time_created
79 return self
.data
.credit
83 return self
.data
.build_id
87 return self
.pakfire
.builds
.get_by_id(self
.build_id
)
98 def get_message(self
, user
=None):
102 class RepositoryLogEntry(LogEntry
):
105 def get_message(self
, user
=None):
106 msg
= _("Unknown action.")
108 # See if we have done the action by ourself.
109 you
= self
.user
== user
113 # Add information about the user.
115 args
["user"] = self
.user
.realname
117 args
["user"] = _("Unknown")
119 # Add information about the repositories.
120 if self
.data
.from_repo_id
:
121 repo
= self
.pakfire
.repos
.get_by_id(self
.data
.from_repo_id
)
122 args
["from_repo"] = repo
.name
124 args
["from_repo"] = _("N/A")
126 if self
.data
.to_repo_id
:
127 repo
= self
.pakfire
.repos
.get_by_id(self
.data
.to_repo_id
)
128 args
["to_repo"] = repo
.name
130 args
["to_repo"] = _("N/A")
132 action
= self
.data
.action
134 if action
== "added":
136 msg
= _("This build was pushed to the repository '%(to_repo)s'.")
138 msg
= _("You pushed this build to the repository '%(to_repo)s'.")
140 msg
= _("%(user)s pushed this build to the repository '%(to_repo)s'.")
142 elif action
== "removed":
144 msg
= _("This build was unpushed from the repository '%(from_repo)s'.")
146 msg
= _("You unpushed this build from the repository '%(from_repo)s'.")
148 msg
= _("%(user)s unpushed this build from the repository '%(from_repo)s'.")
150 elif action
== "moved":
152 msg
= _("This build was pushed from the repository '%(from_repo)s' to '%(to_repo)s'.")
154 msg
= _("You pushed this build from the repository '%(from_repo)s' to '%(to_repo)s'.")
156 msg
= _("%(user)s pushed this build from the repository '%(from_repo)s' to '%(to_repo)s'.")
161 class BuilderLogEntry(LogEntry
):
164 def get_builder(self
):
165 assert self
.data
.builder_id
167 return self
.pakfire
.builders
.get_by_id(self
.data
.builder_id
)
169 def get_message(self
, user
=None):
170 msg
= _("Unknown action.")
172 # See if we have done the action by ourself.
173 you
= self
.user
== user
175 builder
= self
.get_builder()
179 "builder" : builder
.hostname
,
182 # Add information about the user.
184 args
["user"] = self
.user
.realname
186 args
["user"] = _("Unknown")
188 action
= self
.data
.action
190 if action
== "enabled":
192 msg
= _("Builder '%(builder)s' has been enabled.")
194 msg
= _("You enabled builder '%(builder)s'.")
196 msg
= _("%(user)s enabled builder '%(builder)s'.")
198 elif action
== "disabled":
200 msg
= _("Builder '%(builder)s' has been disabled.")
202 msg
= _("You disabled builder '%(builder)s'.")
204 msg
= _("%(user)s disabled builder '%(builder)s'.")
206 elif action
== "deleted":
208 msg
= _("You deleted builder '%(builder)s'.")
210 msg
= _("%(user)s deleted builder '%(builder)s'.")
212 elif action
== "created":
214 msg
= _("You created builder '%(builder)s'.")
216 msg
= _("%(user)s created builder '%(builder)s'.")
221 class JobLogEntry(LogEntry
):
225 assert self
.data
.job_id
227 return self
.pakfire
.jobs
.get_by_id(self
.data
.job_id
)
229 def get_message(self
, user
=None):
230 msg
= _("Unknown action.")
232 # See if we have done the action by ourself.
233 you
= self
.user
== user
240 "state" : self
.data
.state
,
243 # Add information about the user.
245 args
["user"] = self
.user
.realname
247 args
["user"] = _("Unknown")
249 action
= self
.data
.action
251 if action
== "created":
253 msg
= _("Job '%(job)s' has been created.")
255 msg
= _("You created job '%(job)s'.")
257 msg
= _("%(user)s created job '%(job)s'.")
259 elif action
== "state_change":
261 msg
= _("Job '%(job)s' has changed its state to: %(state)s.")
263 msg
= _("You changed the state of job '%(job)s' to: %(state)s.")
265 msg
= _("%(user)s changed the state of job '%(job)s' to: %(state)s.")
267 elif action
== "reset":
269 msg
= _("Job '%(job)s' has been reset.")
271 msg
= _("You reset job '%(job)s'.")
273 msg
= _("%(user)s has reset job '%(job)s'.")
275 elif action
== "schedule_rebuild":
277 msg
= _("Job '%(job)s' has been scheduled for rebuild.")
279 msg
= _("You scheduled job '%(job)s' for rebuild.")
281 msg
= _("%(user)s scheduled job '%(job)s' for rebuild.")
283 elif action
== "schedule_test_job":
284 # XXX add link to the test job
287 msg
= _("A test job for '%(job)s' has been scheduled.")
289 msg
= _("You scheduled a test job for '%(job)s'.")
291 msg
= _("%(user)s scheduled a test job for '%(job)s'.")
296 class MirrorLogEntry(LogEntry
):
299 def get_mirror(self
):
300 assert self
.data
.mirror_id
302 return self
.pakfire
.mirrors
.get_by_id(self
.data
.mirror_id
)
304 def get_message(self
, user
=None):
305 msg
= _("Unknown action.")
307 # See if we have done the action by ourself.
308 you
= self
.user
== user
310 mirror
= self
.get_mirror()
314 "mirror" : mirror
.hostname
,
317 # Add information about the user.
319 args
["user"] = self
.user
.realname
321 args
["user"] = _("Unknown")
323 action
= self
.data
.action
325 if action
== "enabled":
327 msg
= _("Mirror '%(mirror)s' has been enabled.")
329 msg
= _("You enabled mirror '%(mirror)s'.")
331 msg
= _("%(user)s enabled mirror '%(mirror)s'.")
333 elif action
== "disabled":
335 msg
= _("Mirror '%(mirror)s' has been disabled.")
337 msg
= _("You disabled mirror '%(mirror)s'.")
339 msg
= _("%(user)s disabled mirror '%(mirror)s'.")
341 elif action
== "deleted":
343 msg
= _("You deleted mirror '%(mirror)s'.")
345 msg
= _("%(user)s deleted mirror '%(mirror)s'.")
347 elif action
== "created":
349 msg
= _("You created mirror '%(mirror)s'.")
351 msg
= _("%(user)s created mirror '%(mirror)s'.")
356 class LogFile(base
.Object
):
357 def __init__(self
, pakfire
, id):
358 base
.Object
.__init
__(self
, pakfire
)
360 # Save the ID of the item.
369 if self
._data
is None:
370 self
._data
= self
.db
.get("SELECT * FROM logfiles WHERE id = %s", self
.id)
377 return os
.path
.basename(self
.path
)
381 return self
.data
.path
385 if self
._job
is None:
386 self
._job
= self
.pakfire
.jobs
.get_by_id(self
.data
.job_id
)
393 return self
.job
.build
396 def download_url(self
):
397 return "/".join((self
.build
.download_prefix
, self
.path
))
401 return self
.data
.filesize