From de88e67dda232edc4190513023f4b484d7e44e3b Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Mon, 1 Mar 2010 02:31:56 -0500 Subject: [qabox] Export build method --- qabox/fedpkg-autobuilder | 9 ++++++--- qabox/supybot/Fedpkg/plugin.py | 10 ++++++++-- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/qabox/fedpkg-autobuilder b/qabox/fedpkg-autobuilder index 1a87ba2..ab50179 100755 --- a/qabox/fedpkg-autobuilder +++ b/qabox/fedpkg-autobuilder @@ -113,7 +113,10 @@ class Autobuilder(dbus.service.Object): break self.StateChanged(self._state, self._statedata) - def initiate_build(self): + + @dbus.service.method(dbus_interface='org.fedoraproject.FedpkgAutoBuilder', + in_signature='', out_signature='') + def Build(self): if self._pullbuild_pid is not None: logging.info("Can't initiate build, one is in progress") return @@ -153,7 +156,7 @@ class Autobuilder(dbus.service.Object): self.StatusChanged(self._status) def start(self): - self.initiate_build() + self.Build() def main(): try: @@ -187,7 +190,7 @@ def main(): builder = Autobuilder(parser) builder.initiate_build() - glib.timeout_add(build_time * 1000, lambda: builder.initiate_build() or True) + glib.timeout_add(build_time * 1000, lambda: builder.Build() or True) loop.run() diff --git a/qabox/supybot/Fedpkg/plugin.py b/qabox/supybot/Fedpkg/plugin.py index 3cf09fa..fdc7343 100644 --- a/qabox/supybot/Fedpkg/plugin.py +++ b/qabox/supybot/Fedpkg/plugin.py @@ -58,11 +58,17 @@ class Fedpkg(callbacks.Plugin): return status = self._autobuild_proxy.GetStatus() (state, statedata) = self._autobuild_proxy.GetState() - irc.reply("[%s] build of %s is currently %s (%r)" % (status, self._modules[-1], state, statedata)) + irc.reply("[%s] build of %s is currently %s (%r)" % (status, self._modules[-1], state, dict(statedata))) + + def build(self, irc, msg, args): + if self._autobuild_proxy is None: + irc.reply(AUTOBUILD_SERVICE + ' is not running') + return + self._autobuild_proxy.Build(reply_handler=lambda *args: True, error_handler=lambda *args: True) def __on_builder_state_changed(self, state, statedata): for channel in self.__irc.state.channels: - self.__irc.reply("build of %s has changed state to %s (%r)", self._modules[1], state, statedata) + self.__irc.reply("build of %s has changed state to %s (%r)", self._modules[1], state, dict(statedata)) Class = Fedpkg -- cgit