aboutsummaryrefslogtreecommitdiffstats
path: root/lib/python2.7/site-packages/buildbot-0.8.8-py2.7.egg/buildbot/util/state.py
blob: 509f652764c413a37816b8e58f07507ad8c92077 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
from twisted.internet import defer

class StateMixin(object):
    ## state management

    _objectid = None

    @defer.inlineCallbacks
    def getState(self, *args, **kwargs):
        # get the objectid, if not known
        if self._objectid is None:
            self._objectid = yield self.master.db.state.getObjectId(self.name,
                                                    self.__class__.__name__)

        rv = yield self.master.db.state.getState(self._objectid, *args,
                                                                    **kwargs)
        defer.returnValue(rv)

    @defer.inlineCallbacks
    def setState(self, key, value):
        # get the objectid, if not known
        if self._objectid is None:
            self._objectid = yield self.master.db.state.getObjectId(self.name,
                                                self.__class__.__name__)

        yield self.master.db.state.setState(self._objectid, key, value)