[ Avaa Bypassed ]




Upload:

Command:

www-data@3.145.124.186: ~ $
#!/usr/bin/python3

## Printing troubleshooter

## Copyright (C) 2008 Red Hat, Inc.
## Copyright (C) 2008 Tim Waugh <twaugh@redhat.com>

## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation; either version 2 of the License, or
## (at your option) any later version.

## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
## GNU General Public License for more details.

## You should have received a copy of the GNU General Public License
## along with this program; if not, write to the Free Software
## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.

import cups
from timedops import TimedOperation
from .base import *
class CheckLocalServerPublishing(Question):
    def __init__ (self, troubleshooter):
        Question.__init__ (self, troubleshooter, "Is local server publishing?")
        vbox = self.initial_vbox (_("Server Not Exporting Printers"),
                                  _("Although one or more printers are marked "
                                    "as being shared, this print server is "
                                    "not exporting shared printers to the "
                                    "network.") + '\n\n' +
                                  _("Enable the 'Publish shared printers "
                                    "connected to this system' option in "
                                    "the server settings using the printing "
                                    "administration tool.") + ' ' +
                                  _(TEXT_start_print_admin_tool))
        troubleshooter.new_page (vbox, self)

    def display (self):
        self.answers = {}
        cups.setServer ('')
        parent = self.troubleshooter.get_window ()
        try:
            c = self.timedop (cups.Connection, parent=parent).run ()
            printers = self.timedop (c.getPrinters, parent=parent).run ()
            if len (printers) == 0:
                return False

            for name, printer in printers.items ():
                if printer.get ('printer-is-shared', False):
                    break

            attr = self.timedop (c.getPrinterAttributes,
                                 args=(name,),
                                 parent=parent).run ()
        except RuntimeError:
            return False
        except cups.IPPError:
            return False

        if not printer.get ('printer-is-shared', False):
            return False

        if attr.get ('server-is-sharing-printers', True):
            # server-is-sharing-printers is in CUPS 1.4
            return False

        return True

    def collect_answer (self):
        if self.displayed:
            return { 'local_server_exporting_printers': False }

        return {}

    def cancel_operation (self):
        self.op.cancel ()

    def timedop (self, *args, **kwargs):
        self.op = TimedOperation (*args, **kwargs)
        return self.op

Filemanager

Name Type Size Permission Actions
__pycache__ Folder 0775
CheckLocalServerPublishing.py File 3.1 KB 0644
CheckNetworkServerSanity.py File 7.93 KB 0644
CheckPPDSanity.py File 6.39 KB 0644
CheckPrinterSanity.py File 5.59 KB 0644
CheckSELinux.py File 2.76 KB 0644
CheckUSBPermissions.py File 5.99 KB 0644
ChooseNetworkPrinter.py File 6.05 KB 0644
ChoosePrinter.py File 5.74 KB 0644
DeviceListed.py File 6.55 KB 0644
ErrorLogCheckpoint.py File 8.92 KB 0644
ErrorLogFetch.py File 6.33 KB 0644
ErrorLogParse.py File 2.23 KB 0644
LocalOrRemote.py File 1.46 KB 0644
Locale.py File 4.67 KB 0644
NetworkCUPSPrinterShared.py File 2.87 KB 0644
PrintTestPage.py File 20.13 KB 0644
PrinterStateReasons.py File 4.36 KB 0644
QueueNotEnabled.py File 2.84 KB 0644
QueueRejectingJobs.py File 2.91 KB 0644
RemoteAddress.py File 2.4 KB 0644
SchedulerNotRunning.py File 2.23 KB 0644
ServerFirewalled.py File 2.12 KB 0644
Shrug.py File 4.21 KB 0644
VerifyPackages.py File 2.64 KB 0644
Welcome.py File 2.69 KB 0644
__init__.py File 12.2 KB 0755
base.py File 3.49 KB 0644