| Server IP : 39.108.156.168 / Your IP : 216.73.216.104 Web Server : nginx/1.24.0 System : Linux e2.ksyuki.com 6.11.0-25-generic #25~24.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue Apr 15 17:20:50 UTC 2 x86_64 User : root ( 0) PHP Version : 8.3.6 Disable Function : NONE MySQL : OFF | cURL : OFF | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /usr/lib/python3/dist-packages/UpdateManager/ |
Upload File : |
# helpviewer.py
# -*- Mode: Python; indent-tabs-mode: nil; tab-width: 4; coding: utf-8 -*-
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, "help:%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 "SUDO_USER" in os.environ:
self.command = [
"sudo",
"-u",
os.environ["SUDO_USER"],
] + self.command
subprocess.Popen(self.command)