diff options
author | Devan Goodwin <dgoodwin@dangerouslyinc.com> | 2007-10-02 21:42:47 -0300 |
---|---|---|
committer | James Bowes <jbowes@redhat.com> | 2007-10-02 21:33:49 -0400 |
commit | 1ce955ec36f775d8fde2cb9d7943178e8b9d60da (patch) | |
tree | 4c69d218fde87091d4e5d1f3138a435b9164dbf4 /func/minion/modules/yum.py | |
parent | 3c13a4f30f247f4aa75c02c65e6bb6e575e30d01 (diff) | |
download | func-1ce955ec36f775d8fde2cb9d7943178e8b9d60da.tar.gz func-1ce955ec36f775d8fde2cb9d7943178e8b9d60da.tar.xz func-1ce955ec36f775d8fde2cb9d7943178e8b9d60da.zip |
Moved code under the func namespace.
Previously we had overlord, minion, modules, and func all at the root of
the source tree. After install these would all be shuffled below func.
Relocated them in the source tree to reflect this.
Diffstat (limited to 'func/minion/modules/yum.py')
-rw-r--r-- | func/minion/modules/yum.py | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/func/minion/modules/yum.py b/func/minion/modules/yum.py new file mode 100644 index 0000000..6600d47 --- /dev/null +++ b/func/minion/modules/yum.py @@ -0,0 +1,48 @@ +# Copyright 2007, Red Hat, Inc +# James Bowes <jbowes@redhat.com> +# +# This software may be freely redistributed under the terms of the GNU +# general public license. +# +# 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., 675 Mass Ave, Cambridge, MA 02139, USA. + + +from modules import func_module + +import yum + +# XXX Use internal yum callback or write a useful one. +class DummyCallback(object): + + def event(self, state, data=None): + pass + +class Yum(func_module.FuncModule): + + def __init__(self): + self.methods = { + "update" : self.update + } + func_module.FuncModule.__init__(self) + + def update(self): + # XXX support updating specific rpms + ayum = yum.YumBase() + ayum.doGenericSetup() + ayum.doRepoSetup() + try: + ayum.doLock() + ayum.update() + ayum.buildTransaction() + ayum.processTransaction( + callback=DummyCallback()) + finally: + ayum.closeRpmDB() + ayum.doUnlock() + return True + + +methods = Yum() +register_rpc = methods.register_rpc |