diff options
| author | Michael Vogt <michael.vogt@ubuntu.com> | 2006-03-20 11:14:55 +0100 |
|---|---|---|
| committer | Michael Vogt <michael.vogt@ubuntu.com> | 2006-03-20 11:14:55 +0100 |
| commit | 56fa71590be9df25acc234df153412ef68a30ae2 (patch) | |
| tree | 8dcfba75b423316e15ec68e62433e918e3ce97fe /UpdateManager/Common | |
| parent | 011227402396588da9688bec6dc0fdb9271bfef9 (diff) | |
| parent | 2fffae540e57f3afce498bbc5f62657a889a429f (diff) | |
| download | python-apt-56fa71590be9df25acc234df153412ef68a30ae2.tar.gz | |
* merged from the laptop branch
Diffstat (limited to 'UpdateManager/Common')
| -rw-r--r-- | UpdateManager/Common/HelpViewer.py | 33 |
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) |
