diff options
Diffstat (limited to 'zuul/model.py')
-rw-r--r-- | zuul/model.py | 33 |
1 files changed, 22 insertions, 11 deletions
diff --git a/zuul/model.py b/zuul/model.py index aafcdd643..2b7be6bd6 100644 --- a/zuul/model.py +++ b/zuul/model.py @@ -14,6 +14,7 @@ import re + class ChangeQueue(object): def __init__(self, queue_name): self.name = '' @@ -51,6 +52,7 @@ class ChangeQueue(object): for project in other.projects: self.addProject(project) + class Job(object): def __init__(self, name): self.name = name @@ -64,6 +66,7 @@ class Job(object): def __repr__(self): return '<Job %s>' % (self.name) + class Build(object): def __init__(self, job, uuid): self.job = job @@ -75,6 +78,7 @@ class Build(object): def __repr__(self): return '<Build %s of %s>' % (self.uuid, self.job.name) + class JobTree(object): """ A JobTree represents an instance of one Job, and holds JobTrees whose jobs should be run if that Job succeeds. A root node of a @@ -106,6 +110,7 @@ class JobTree(object): return ret return None + class Project(object): def __init__(self, name): self.name = name @@ -122,7 +127,7 @@ class Project(object): return self.job_trees[name] def hasQueue(self, name): - if self.job_trees.has_key(name): + if name in self.job_trees: return True return False @@ -135,6 +140,7 @@ class Project(object): return [] return tree.getJobs() + class Change(object): def __init__(self, queue_name, project, branch, number, patchset, refspec): self.queue_name = queue_name @@ -153,18 +159,18 @@ class Change(object): return '<Change 0x%x %s,%s>' % (id(self), self.number, self.patchset) def formatStatus(self, indent=0): - indent_str = ' '*indent + indent_str = ' ' * indent ret = '' ret += '%sProject %s change %s,%s\n' % (indent_str, self.project.name, - self.number, + self.number, self.patchset) for job in self.project.getJobs(self.queue_name): result = self.jobs.get(job.name) ret += '%s %s: %s\n' % (indent_str, job.name, result) if self.change_ahead: ret += '%sWaiting on:\n' % (indent_str) - ret += self.change_ahead.formatStatus(indent+2) + ret += self.change_ahead.formatStatus(indent + 2) return ret def formatReport(self): @@ -173,7 +179,7 @@ class Change(object): ret += 'Build successful\n\n' else: ret += 'Build failed\n\n' - + for job in self.project.getJobs(self.queue_name): result = self.jobs.get(job.name) url = self.job_urls.get(job.name, job.name) @@ -222,7 +228,7 @@ class Change(object): def areAllJobsComplete(self): tree = self.project.getJobTreeForQueue(self.queue_name) for job in tree.getJobs(): - if not self.jobs.has_key(job.name): + if not job.name in self.jobs: return False return True @@ -236,6 +242,7 @@ class Change(object): if self.change_behind: self.change_behind.change_ahead = None + class TriggerEvent(object): def __init__(self): self.data = None @@ -250,17 +257,19 @@ class TriggerEvent(object): def __str__(self): ret = '<TriggerEvent %s %s' % (self.type, self.project_name) - + if self.branch: ret += " %s" % self.branch if self.change_number: ret += " %s,%s" % (self.change_number, self.patch_number) if self.approvals: - ret += ' '+', '.join(['%s:%s' % (a['type'], a['value']) for a in self.approvals]) + ret += ' ' + ', '.join( + ['%s:%s' % (a['type'], a['value']) for a in self.approvals]) ret += '>' return ret + class EventFilter(object): def __init__(self, types=[], branches=[], refs=[], approvals=[]): self._types = types @@ -273,7 +282,7 @@ class EventFilter(object): def __str__(self): ret = '<EventFilter' - + if self._types: ret += ' types: %s' % ', '.join(self._types) if self._branches: @@ -281,7 +290,8 @@ class EventFilter(object): if self._refs: ret += ' refs: %s' % ', '.join(self._refs) if self.approvals: - ret += ' approvals: %s' % ', '.join(['%s:%s' % a for a in self.approvals.items()]) + ret += ' approvals: %s' % ', '.join( + ['%s:%s' % a for a in self.approvals.items()]) ret += '>' return ret @@ -322,5 +332,6 @@ class EventFilter(object): if (normalizeCategory(eapproval['description']) == category and int(eapproval['value']) == int(value)): matches_approval = True - if not matches_approval: return False + if not matches_approval: + return False return True |