from yum.plugins import TYPE_INTERFACE, TYPE_CORE
from yum.plugins import PluginYumExit
from yum import config

requires_api_version = '2.1'
plugin_type = (TYPE_INTERFACE, TYPE_CORE)

#mypkg=0

def init_hook(conduit):
    conduit.info(3, 'Yumfirst plugin starting')

#def exclude_hook(conduit):
#    global mypkg
#    conduit.info(2, 'Trying to find Yum package')
#    pkgs = conduit.getPackages()
#    for pkg in pkgs:
#        #conduit.info(2, 'Package %s' % pkg.name)
#        if pkg.name == 'expect':
#            conduit.info(2, 'Have found %s %s' % (pkg, pkg.pkgtup))
#            mypkg  = pkg
#        if pkg.name <> 'expect':
#            conduit.delPackage(pkg)
#    raise PluginYumExit('Goodbye')

def preresolve_hook(conduit):
    foundyum = False
    yumname = 'iftop'
    ts = conduit.getTsInfo()
    for tsmem in ts.getMembers():
        if tsmem.name == yumname:
          conduit.info(3, 'Have found %s %s %s' % (tsmem.name, tsmem.ts_state, tsmem.pkgtup))
          foundyum = True
          yumpkg = tsmem
    if foundyum:       
        for tsmem in ts.getMembers():
            if tsmem.name <> yumname:
                conduit.info(3, 'Removing %s %s %s' % (tsmem.name, tsmem.ts_state, tsmem.pkgtup))
                ts.remove(tsmem.pkgtup)
        ts.addInstall(yumpkg)
    
