Skip to content

Commit

Permalink
remove get_buildrequestids_for_buildset and rewrite methods using it
Browse files Browse the repository at this point in the history
  • Loading branch information
djmitche committed May 2, 2011
1 parent 10fc166 commit cc79df7
Show file tree
Hide file tree
Showing 4 changed files with 26 additions and 23 deletions.
10 changes: 0 additions & 10 deletions master/buildbot/db/connector.py
Expand Up @@ -292,16 +292,6 @@ def _check_buildset(self, t, bsid, now):
# notify the master
self.master.buildsetComplete(bsid, bs_results)

# used by BuildSetStatus
def get_buildrequestids_for_buildset(self, bsid):
return self.runInteractionNow(self._txn_get_buildrequestids_for_buildset,
bsid)
def _txn_get_buildrequestids_for_buildset(self, t, bsid):
t.execute(self.quoteq("SELECT buildername,id FROM buildrequests"
" WHERE buildsetid=?"),
(bsid,))
return dict(t.fetchall())

def doCleanup(self):
"""
Perform any periodic database cleanup tasks.
Expand Down
4 changes: 3 additions & 1 deletion master/buildbot/interfaces.py
Expand Up @@ -222,7 +222,9 @@ def getInterestedUsers():
pass # not implemented
def getBuilderNames():
"""Return a list of the names of all Builders on which this set will
do builds."""
do builds.
@returns: list of names via Deferred"""
def isFinished():
pass
def waitUntilSuccess():
Expand Down
23 changes: 15 additions & 8 deletions master/buildbot/status/buildset.py
Expand Up @@ -41,16 +41,23 @@ def isFinished(self):
return self.bsdict['complete']

def getBuilderNamesAndBuildRequests(self):
brs = {}
brids = self.master.db.get_buildrequestids_for_buildset(self.id)
for (buildername, brid) in brids.iteritems():
brs[buildername] = BuildRequestStatus(buildername, brid,
self.status)
return brs
# returns a Deferred; undocumented method that may be removed
# without warning
d = self.master.db.buildrequests.getBuildRequests(bsid=self.id)
def get_objects(brdicts):
return dict([
(brd['buildername'], BuildRequestStatus(brd['buildername'],
brd['brid'], self.status))
for brd in brdicts ])
d.addCallback(get_objects)
return d

def getBuilderNames(self):
brs = self.master.db.get_buildrequestids_for_buildset(self.id)
return sorted(brs.keys())
d = self.master.db.buildrequests.getBuildRequests(bsid=self.id)
def get_names(brdicts):
return sorted([ brd['buildername'] for brd in brdicts ])
d.addCallback(get_names)
return d

def waitUntilFinished(self):
return self.status._buildset_waitUntilFinished(self.id)
Expand Down
12 changes: 8 additions & 4 deletions master/buildbot/status/client.py
Expand Up @@ -50,13 +50,17 @@ def remote_getID(self):
return self.b.getID()

def remote_getBuilderNames(self):
return self.b.getBuilderNames()
return self.b.getBuilderNames() # note: passes along the Deferred

def remote_getBuildRequests(self):
"""Returns a list of (builderName, BuildRequest) tuples."""
return [(bname, IRemote(br))
for (bname, br)
in self.b.getBuilderNamesAndBuildRequests().items()]
d = self.b.getBuilderNamesAndBuildRequests()
def add_remote(buildrequests):
for k,v in buildrequests.iteritems():
buildrequests[k] = IRemote(v)
return buildrequests
d.addCallback(add_remote)
return d

def remote_isFinished(self):
return self.b.isFinished()
Expand Down

0 comments on commit cc79df7

Please sign in to comment.