summaryrefslogtreecommitdiff
path: root/doc/examples
diff options
context:
space:
mode:
authorMichael Vogt <michael.vogt@ubuntu.com>2005-04-08 15:09:41 +0000
committerMichael Vogt <michael.vogt@ubuntu.com>2005-04-08 15:09:41 +0000
commit19fb3bc6a6fc6328dfa90dac3e4066d931eaf129 (patch)
treeb8b7c147b37055a2319e6f7b71e7cb96aa9286a9 /doc/examples
parent08ea34d6a28b4b17d0146535e85d61ab7bda341d (diff)
downloadpython-apt-19fb3bc6a6fc6328dfa90dac3e4066d931eaf129.tar.gz
* InstallProgress has overridable fork interface now, added example for the use of a vte terminal
Diffstat (limited to 'doc/examples')
-rw-r--r--doc/examples/gui-inst.py68
-rw-r--r--doc/examples/inst.py110
-rw-r--r--doc/examples/progress.py1
3 files changed, 76 insertions, 103 deletions
diff --git a/doc/examples/gui-inst.py b/doc/examples/gui-inst.py
new file mode 100644
index 00000000..ededab5f
--- /dev/null
+++ b/doc/examples/gui-inst.py
@@ -0,0 +1,68 @@
+#!/usr/bin/python
+# example how to install in a custom terminal widget
+
+import apt_pkg
+import sys, os
+import copy
+
+import pygtk
+pygtk.require('2.0')
+import gtk
+import vte
+import time
+
+from progress import OpProgress, FetchProgress, InstallProgress
+
+class TermInstallProgress(InstallProgress):
+ def UpdateInterface(self):
+ while gtk.events_pending():
+ gtk.main_iteration()
+ def FinishUpdate(self):
+ sys.stdin.readline()
+
+# 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 = TermInstallProgress()
+
+
+window = gtk.Window(gtk.WINDOW_TOPLEVEL)
+window.show()
+term = vte.Terminal()
+term.show()
+window.add(term)
+# can be used to set a custom fork method (like vte.Terminal.forkpty)
+# see also gnome bug: #169201
+iprogress.fork = term.forkpty
+
+# show the interface
+while gtk.events_pending():
+ gtk.main_iteration()
+
+
+iter = cache["3dchess"]
+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)
+
+
+
diff --git a/doc/examples/inst.py b/doc/examples/inst.py
index 3269900f..e4c96983 100644
--- a/doc/examples/inst.py
+++ b/doc/examples/inst.py
@@ -2,7 +2,7 @@
# example how to deal with the depcache
import apt_pkg
-import sys
+import sys, os
import copy
from progress import OpProgress, FetchProgress, InstallProgress
@@ -23,7 +23,11 @@ depcache.Init(progress)
# do something
fprogress = FetchProgress()
iprogress = InstallProgress()
-iter = cache["base-config"]
+
+# can be used to set a custom fork method (like vte.Terminal.forkpty)
+#iprogress.fork = os.fork
+
+iter = cache["3dchess"]
print "\n%s"%iter
# install or remove, the importend thing is to keep us busy :)
@@ -31,7 +35,8 @@ if iter.CurrentVer == None:
depcache.MarkInstall(iter)
else:
depcache.MarkDelete(iter)
-depcache.Commit(fprogress, iprogress)
+res = depcache.Commit(fprogress, iprogress)
+print res
print "Exiting"
sys.exit(0)
@@ -39,102 +44,3 @@ 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
index 0dec95d1..c37de70d 100644
--- a/doc/examples/progress.py
+++ b/doc/examples/progress.py
@@ -48,4 +48,3 @@ class InstallProgress:
def UpdateInterface(self):
# usefull to e.g. redraw a GUI
time.sleep(0.1)
-