aboutsummaryrefslogtreecommitdiffstats
path: root/lib/python2.7/site-packages/buildbot-0.8.8-py2.7.egg/buildbot/status/buildrequest.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/python2.7/site-packages/buildbot-0.8.8-py2.7.egg/buildbot/status/buildrequest.py')
-rw-r--r--lib/python2.7/site-packages/buildbot-0.8.8-py2.7.egg/buildbot/status/buildrequest.py149
1 files changed, 0 insertions, 149 deletions
diff --git a/lib/python2.7/site-packages/buildbot-0.8.8-py2.7.egg/buildbot/status/buildrequest.py b/lib/python2.7/site-packages/buildbot-0.8.8-py2.7.egg/buildbot/status/buildrequest.py
deleted file mode 100644
index 1f52902e..00000000
--- a/lib/python2.7/site-packages/buildbot-0.8.8-py2.7.egg/buildbot/status/buildrequest.py
+++ /dev/null
@@ -1,149 +0,0 @@
-# This file is part of Buildbot. Buildbot is free software: you can
-# redistribute it and/or modify it under the terms of the GNU General Public
-# License as published by the Free Software Foundation, version 2.
-#
-# This program is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
-# details.
-#
-# You should have received a copy of the GNU General Public License along with
-# this program; if not, write to the Free Software Foundation, Inc., 51
-# Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Copyright Buildbot Team Members
-
-from zope.interface import implements
-from twisted.python import log
-from twisted.internet import defer
-from buildbot import interfaces
-from buildbot.util.eventual import eventually
-
-class BuildRequestStatus:
- implements(interfaces.IBuildRequestStatus)
-
- def __init__(self, buildername, brid, status):
- self.buildername = buildername
- self.brid = brid
- self.status = status
- self.master = status.master
-
- self._buildrequest = None
- self._buildrequest_lock = defer.DeferredLock()
-
- @defer.inlineCallbacks
- def _getBuildRequest(self):
- """
- Get the underlying BuildRequest object for this status. This is a slow
- operation!
-
- @returns: BuildRequest instance or None, via Deferred
- """
- # late binding to avoid an import cycle
- from buildbot.process import buildrequest
-
- # this is only set once, so no need to lock if we already have it
- if self._buildrequest:
- defer.returnValue(self._buildrequest)
- return
-
- yield self._buildrequest_lock.acquire()
-
- try:
- if not self._buildrequest:
- brd = yield self.master.db.buildrequests.getBuildRequest(
- self.brid)
-
- br = yield buildrequest.BuildRequest.fromBrdict(self.master,
- brd)
- self._buildrequest = br
- except: # try/finally isn't allowed in generators in older Pythons
- self._buildrequest_lock.release()
- raise
-
- self._buildrequest_lock.release()
-
- defer.returnValue(self._buildrequest)
-
- def buildStarted(self, build):
- self.status._buildrequest_buildStarted(build.status)
- self.builds.append(build.status)
-
- # methods called by our clients
- @defer.inlineCallbacks
- def getBsid(self):
- br = yield self._getBuildRequest()
- defer.returnValue(br.bsid)
-
- @defer.inlineCallbacks
- def getBuildProperties(self):
- br = yield self._getBuildRequest()
- defer.returnValue(br.properties)
-
- @defer.inlineCallbacks
- def getSourceStamp(self):
- br = yield self._getBuildRequest()
- defer.returnValue(br.source)
-
- def getBuilderName(self):
- return self.buildername
-
- @defer.inlineCallbacks
- def getBuilds(self):
- builder = self.status.getBuilder(self.getBuilderName())
- builds = []
-
- bdicts = yield self.master.db.builds.getBuildsForRequest(self.brid)
-
- buildnums = sorted([ bdict['number'] for bdict in bdicts ])
-
- for buildnum in buildnums:
- bs = builder.getBuild(buildnum)
- if bs:
- builds.append(bs)
- defer.returnValue(builds)
-
- def subscribe(self, observer):
- d = self.getBuilds()
- def notify_old(oldbuilds):
- for bs in oldbuilds:
- eventually(observer, bs)
- d.addCallback(notify_old)
- d.addCallback(lambda _ :
- self.status._buildrequest_subscribe(self.brid, observer))
- d.addErrback(log.err, 'while notifying subscribers')
-
- def unsubscribe(self, observer):
- self.status._buildrequest_unsubscribe(self.brid, observer)
-
- @defer.inlineCallbacks
- def getSubmitTime(self):
- br = yield self._getBuildRequest()
- defer.returnValue(br.submittedAt)
-
- def asDict(self):
- result = {}
- # Constant
- result['source'] = None # not available sync, sorry
- result['builderName'] = self.buildername
- result['submittedAt'] = None # not availably sync, sorry
-
- # Transient
- result['builds'] = [] # not available async, sorry
- return result
-
- @defer.inlineCallbacks
- def asDict_async(self):
- result = {}
-
- ss = yield self.getSourceStamp()
- result['source'] = ss.asDict()
- props = yield self.getBuildProperties()
- result['properties'] = props.asList()
- result['builderName'] = self.getBuilderName()
- result['submittedAt'] = yield self.getSubmitTime()
-
- builds = yield self.getBuilds()
- result['builds'] = [ build.asDict() for build in builds ]
-
- defer.returnValue(result)