diff options
author | Michael DeHaan <mdehaan@mdehaan.rdu.redhat.com> | 2007-09-21 19:11:21 -0400 |
---|---|---|
committer | Michael DeHaan <mdehaan@mdehaan.rdu.redhat.com> | 2007-09-21 19:11:21 -0400 |
commit | 2d1bb13794d1f3e9dfca2047195e5ab368db628b (patch) | |
tree | c3e19536b308117c710d14c3fde54437027f38b8 /modules/yum.py | |
parent | a64a59585222a0b10a1e6181c67d53dde6570a34 (diff) | |
download | third_party-func-2d1bb13794d1f3e9dfca2047195e5ab368db628b.tar.gz third_party-func-2d1bb13794d1f3e9dfca2047195e5ab368db628b.tar.xz third_party-func-2d1bb13794d1f3e9dfca2047195e5ab368db628b.zip |
Rename yummod as yum so each module doesn't end up ending in mod :)
Diffstat (limited to 'modules/yum.py')
-rw-r--r-- | modules/yum.py | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/modules/yum.py b/modules/yum.py new file mode 100644 index 0000000..6600d47 --- /dev/null +++ b/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 |