diff options
| author | Michael Vogt <michael.vogt@ubuntu.com> | 2005-03-14 15:39:53 +0000 |
|---|---|---|
| committer | Michael Vogt <michael.vogt@ubuntu.com> | 2005-03-14 15:39:53 +0000 |
| commit | e85acde9ac66221e7dae0ead2bb9d79140a1826b (patch) | |
| tree | e0d53b23afc9b9c0d877eb62c94c77a2904c1b9d /doc/examples | |
| parent | d06566c40340c80db43e47b171ceda579291ef66 (diff) | |
| download | python-apt-e85acde9ac66221e7dae0ead2bb9d79140a1826b.tar.gz | |
* basic fetch interface, mostly stubs right now
Diffstat (limited to 'doc/examples')
| -rw-r--r-- | doc/examples/action.py | 147 |
1 files changed, 147 insertions, 0 deletions
diff --git a/doc/examples/action.py b/doc/examples/action.py new file mode 100644 index 00000000..d3cddbc4 --- /dev/null +++ b/doc/examples/action.py @@ -0,0 +1,147 @@ +#!/usr/bin/python +# example how to deal with the depcache + +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 Pulse(self, CurrentCPS, CurrentBytes, CurrentItems): + print "Pulse: CPS: %s Bytes: %s Item: %s" % (CurrentCPS, CurrentBytes, CurrentItems) + + + +# init +apt_pkg.init() + +progress = OpProgress() +cache = apt_pkg.GetCache(progress) +print "Available packages: %s " % cache.PackageCount + +progress = FetchProgress() +cache.Update(progress) + +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 |
