summaryrefslogtreecommitdiff
path: root/UpdateManager/Common
diff options
context:
space:
mode:
authorMichael Vogt <michael.vogt@ubuntu.com>2006-03-20 11:14:55 +0100
committerMichael Vogt <michael.vogt@ubuntu.com>2006-03-20 11:14:55 +0100
commit56fa71590be9df25acc234df153412ef68a30ae2 (patch)
tree8dcfba75b423316e15ec68e62433e918e3ce97fe /UpdateManager/Common
parent011227402396588da9688bec6dc0fdb9271bfef9 (diff)
parent2fffae540e57f3afce498bbc5f62657a889a429f (diff)
downloadpython-apt-56fa71590be9df25acc234df153412ef68a30ae2.tar.gz
* merged from the laptop branch
Diffstat (limited to 'UpdateManager/Common')
-rw-r--r--UpdateManager/Common/HelpViewer.py33
1 files changed, 33 insertions, 0 deletions
diff --git a/UpdateManager/Common/HelpViewer.py b/UpdateManager/Common/HelpViewer.py
new file mode 100644
index 00000000..c8b099cc
--- /dev/null
+++ b/UpdateManager/Common/HelpViewer.py
@@ -0,0 +1,33 @@
+# helpviewer.py
+
+import os
+import subprocess
+
+# Hardcoded list of available help viewers
+# FIXME: khelpcenter support would be nice
+#KNOWN_VIEWERS = ["/usr/bin/yelp", "/usr/bin/khelpcenter"]
+KNOWN_VIEWERS = ["/usr/bin/yelp"]
+
+class HelpViewer:
+ def __init__(self, docu):
+ self.command = []
+ self.docu = docu
+ for viewer in KNOWN_VIEWERS:
+ if os.path.exists(viewer):
+ self.command = [viewer, "ghelp:%s" % docu]
+ break
+
+ def check(self):
+ """check if a viewer is available"""
+ if self.command == []:
+ return False
+ else:
+ return True
+
+ def run(self):
+ """open the documentation in the viewer"""
+ # avoid running the help viewer as root
+ if os.getuid() == 0 and os.environ.has_key('SUDO_USER'):
+ self.command = ['sudo', '-u', os.environ['SUDO_USER']] +\
+ self.command
+ subprocess.Popen(self.command)