import yum
from yum.callbacks import DownloadBaseCallback

class MyDownloadCallback(  DownloadBaseCallback ):

   def updateProgress(self,name,frac,fread,ftime):
       '''
       Update the progressbar
       @param name: filename
       @param frac: Progress fracment (0 -> 1)
       @param fread: formated string containing BytesRead
       @param ftime : formated string containing remaining or elapsed time
       '''
       pct = int( frac*100 )
       print " PROGRESS: %s : %s " % (name,pct)


if __name__ == '__main__':
    my = yum.YumBase()
    my.doConfigSetup()
    dnlcb = MyDownloadCallback()
    my.repos.setProgressBar( dnlcb )
    i=0
    for pkg in my.pkgSack:
        print " PKG:  " + pkg.name
        i += 1
        if i==10:
            break
	
