diff options
| author | Michael Vogt <michael.vogt@ubuntu.com> | 2005-04-08 00:51:04 +0000 |
|---|---|---|
| committer | Michael Vogt <michael.vogt@ubuntu.com> | 2005-04-08 00:51:04 +0000 |
| commit | 8f914ef267ab1bbcbda1c6694edd2e4c9b6401ec (patch) | |
| tree | ed06ac66d1e0675a77080bf5a5d6f33e3c492d52 /doc | |
| parent | 7e76103c2b13d27f4a9987b1f9fca50504177268 (diff) | |
| download | python-apt-8f914ef267ab1bbcbda1c6694edd2e4c9b6401ec.tar.gz | |
* started the DepCache.Commit() interface
Diffstat (limited to 'doc')
| -rw-r--r-- | doc/examples/action.py | 26 | ||||
| -rw-r--r-- | doc/examples/inst.py | 140 | ||||
| -rw-r--r-- | doc/examples/progress.py | 30 |
3 files changed, 171 insertions, 25 deletions
diff --git a/doc/examples/action.py b/doc/examples/action.py index 09ded0a7..3eb58d9e 100644 --- a/doc/examples/action.py +++ b/doc/examples/action.py @@ -4,31 +4,7 @@ import apt_pkg import sys import copy - -class OpProgress: - def __init__(self): - self.last = 0.0 - - def Update(self, percent): - if (self.last + 1.0) <= percent: - sys.stdout.write("\rProgress: %i.2 " % (percent)) - self.last = percent - if percent >= 100: - self.last = 0.0 - - def Done(self): - self.last = 0.0 - print "\rDone " - - -class FetchProgress: - def __init__(self): - pass - def UpdateStatus(self, uri, descr, shortDescr, status): - print "UpdateStatus: '%s' '%s' '%s' '%i'" % (uri,descr,shortDescr, status) - def Pulse(self): - print "Pulse: CPS: %s/s; Bytes: %s/%s; Item: %s/%s" % (apt_pkg.SizeToStr(self.CurrentCPS), apt_pkg.SizeToStr(self.CurrentBytes), apt_pkg.SizeToStr(self.TotalBytes), self.CurrentItems, self.TotalItems) - +from progress import OpProgress, FetchProgress # init diff --git a/doc/examples/inst.py b/doc/examples/inst.py new file mode 100644 index 00000000..3854805b --- /dev/null +++ b/doc/examples/inst.py @@ -0,0 +1,140 @@ +#!/usr/bin/python +# example how to deal with the depcache + +import apt_pkg +import sys +import copy + +from progress import OpProgress, FetchProgress + + +# init +apt_pkg.init() + +progress = OpProgress() +cache = apt_pkg.GetCache(progress) +print "Available packages: %s " % cache.PackageCount + +# get depcache +depcache = apt_pkg.GetDepCache(cache) +depcache.ReadPinFile() +depcache.Init(progress) + +# do something +fprogress = FetchProgress() +iprogress = "lala" +iter = cache["base-config"] +print "\n%s"%iter + +# install or remove, the importend thing is to keep us busy :) +if iter.CurrentVer == None: + depcache.MarkInstall(iter) +else: + depcache.MarkDelete(iter) +depcache.Commit(fprogress, iprogress) + +print "Exiting" +sys.exit(0) + + + + + + + + + + + + + +iter = cache["base-config"] +print "example package iter: %s" % iter + +# get depcache +print "\n\n depcache" +depcache = apt_pkg.GetDepCache(cache, progress) +depcache.ReadPinFile() +print "got a depcache: %s " % depcache +print "Marked for install: %s " % depcache.InstCount + +print "\n\n Reinit" +depcache.Init(progress) + +#sys.exit() + + +# get a canidate version +ver= depcache.GetCandidateVer(iter) +print "Candidate version: %s " % ver + +print "\n\nQuerry interface" +print "%s.IsUpgradable(): %s" % (iter.Name, depcache.IsUpgradable(iter)) + +print "\nMarking interface" +print "Marking '%s' for install" % iter.Name +depcache.MarkInstall(iter) +print "Install count: %s " % depcache.InstCount +print "%s.MarkedInstall(): %s" % (iter.Name, depcache.MarkedInstall(iter)) +print "%s.MarkedUpgrade(): %s" % (iter.Name, depcache.MarkedUpgrade(iter)) +print "%s.MarkedDelete(): %s" % (iter.Name, depcache.MarkedDelete(iter)) + +print "Marking %s for delete" % iter.Name +depcache.MarkDelete(iter) +print "DelCount: %s " % depcache.DelCount +print "%s.MarkedDelete(): %s" % (iter.Name, depcache.MarkedDelete(iter)) + + +iter = cache["3dchess"] +print "\nMarking '%s' for install" % iter.Name +depcache.MarkInstall(iter) +print "Install count: %s " % depcache.InstCount +print "%s.MarkedInstall(): %s" % (iter.Name, depcache.MarkedInstall(iter)) +print "%s.MarkedUpgrade(): %s" % (iter.Name, depcache.MarkedUpgrade(iter)) +print "%s.MarkedDelete(): %s" % (iter.Name, depcache.MarkedDelete(iter)) + +print "Marking %s for keep" % iter.Name +depcache.MarkKeep(iter) +print "Install: %s " % depcache.InstCount + +iter = cache["3dwm-server"] +print "\nMarking '%s' for install" % iter.Name +depcache.MarkInstall(iter) +print "Install: %s " % depcache.InstCount +print "Broken count: %s" % depcache.BrokenCount +print "FixBroken() " +depcache.FixBroken() +print "Broken count: %s" % depcache.BrokenCount + +print "\nPerforming Upgrade" +depcache.Upgrade() +print "Keep: %s " % depcache.KeepCount +print "Install: %s " % depcache.InstCount +print "Delete: %s " % depcache.DelCount +print "UsrSize: %s " % apt_pkg.SizeToStr(depcache.UsrSize) +print "DebSize: %s " % apt_pkg.SizeToStr(depcache.DebSize) + +for pkg in cache.Packages: + if pkg.CurrentVer != None and not depcache.MarkedInstall(pkg) and depcache.IsUpgradable(pkg): + print "Upgrade didn't upgrade (kept): %s" % pkg.Name + + +print "\nPerforming DistUpgrade" +depcache.Upgrade(True) +print "Keep: %s " % depcache.KeepCount +print "Install: %s " % depcache.InstCount +print "Delete: %s " % depcache.DelCount +print "UsrSize: %s " % apt_pkg.SizeToStr(depcache.UsrSize) +print "DebSize: %s " % apt_pkg.SizeToStr(depcache.DebSize) + +# overview about what would happen +for pkg in cache.Packages: + if depcache.MarkedInstall(pkg): + if pkg.CurrentVer != None: + print "Marked upgrade: %s " % pkg.Name + else: + print "Marked install: %s" % pkg.Name + elif depcache.MarkedDelete(pkg): + print "Marked delete: %s" % pkg.Name + elif depcache.MarkedKeep(pkg): + print "Marked keep: %s" % pkg.Name diff --git a/doc/examples/progress.py b/doc/examples/progress.py new file mode 100644 index 00000000..f6cf1495 --- /dev/null +++ b/doc/examples/progress.py @@ -0,0 +1,30 @@ +import apt_pkg +import sys + +class OpProgress: + def __init__(self): + self.last = 0.0 + + def Update(self, percent): + if (self.last + 1.0) <= percent: + sys.stdout.write("\rProgress: %i.2 " % (percent)) + self.last = percent + if percent >= 100: + self.last = 0.0 + + def Done(self): + self.last = 0.0 + print "\rDone " + + +class FetchProgress: + def __init__(self): + pass + def UpdateStatus(self, uri, descr, shortDescr, status): + print "UpdateStatus: '%s' '%s' '%s' '%i'" % (uri,descr,shortDescr, status) + def Pulse(self): + print "Pulse: CPS: %s/s; Bytes: %s/%s; Item: %s/%s" % (apt_pkg.SizeToStr(self.CurrentCPS), apt_pkg.SizeToStr(self.CurrentBytes), apt_pkg.SizeToStr(self.TotalBytes), self.CurrentItems, self.TotalItems) + + def MediaChange(self, medium, drive): + print "Please insert medium %s in drive %s" % (medium, drive) + sys.stdin.readline()
\ No newline at end of file |
