HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux simsoft.ro 5.15.0-163-generic #173-Ubuntu SMP Tue Oct 14 17:51:00 UTC 2025 x86_64
User: www-data (33)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //lib/python3/dist-packages/UpdateManager/HelpViewer.py
# 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)