__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
#!/usr/bin/python3
## system-config-printer
## Copyright (C) 2010, 2011, 2012, 2013, 2014 Red Hat, Inc.
## Authors:
## 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 threading
from gi.repository import GLib
from debug import *
class KillTimer:
def __init__ (self, timeout=30, killfunc=None):
self._timeout = timeout
self._killfunc = killfunc
self._holds = 0
self._add_timeout ()
self._lock = threading.Lock()
def _add_timeout (self):
self._timer = GLib.timeout_add_seconds (self._timeout, self._kill)
def _kill (self):
debugprint ("Timeout (%ds), exiting" % self._timeout)
if self._killfunc:
self._killfunc ()
else:
sys.exit (0)
def add_hold (self):
self._lock.acquire()
if self._holds == 0:
debugprint ("Kill timer stopped")
GLib.source_remove (self._timer)
self._holds += 1
self._lock.release()
def remove_hold (self):
self._lock.acquire()
if self._holds > 0:
self._holds -= 1
if self._holds == 0:
debugprint ("Kill timer started")
self._add_timeout ()
self._lock.release()
def alive (self):
self._lock.acquire()
if self._holds == 0:
GLib.source_remove (self._timer)
self._add_timeout ()
self._lock.release()
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| __pycache__ | Folder | 0755 |
|
|
| OpenPrintingRequest.py | File | 6.81 KB | 0644 |
|
| PhysicalDevice.py | File | 16.19 KB | 0644 |
|
| asyncconn.py | File | 9.6 KB | 0644 |
|
| asyncipp.py | File | 26.13 KB | 0644 |
|
| asyncpk1.py | File | 25.86 KB | 0644 |
|
| authconn.py | File | 18.85 KB | 0644 |
|
| config.py | File | 1.19 KB | 0644 |
|
| cupspk.py | File | 27.48 KB | 0644 |
|
| debug.py | File | 1.62 KB | 0644 |
|
| dnssdresolve.py | File | 4.66 KB | 0644 |
|
| errordialogs.py | File | 3.12 KB | 0644 |
|
| firewallsettings.py | File | 9.38 KB | 0644 |
|
| gtkinklevel.py | File | 4.71 KB | 0644 |
|
| gui.py | File | 2.13 KB | 0644 |
|
| installpackage.py | File | 2.2 KB | 0644 |
|
| jobviewer.py | File | 96.57 KB | 0644 |
|
| killtimer.py | File | 2.08 KB | 0644 |
|
| monitor.py | File | 32.36 KB | 0644 |
|
| newprinter.py | File | 178.27 KB | 0644 |
|
| options.py | File | 18.97 KB | 0644 |
|
| optionwidgets.py | File | 8.89 KB | 0644 |
|
| ppdcache.py | File | 7.57 KB | 0644 |
|
| ppdippstr.py | File | 16.19 KB | 0644 |
|
| ppdsloader.py | File | 10.98 KB | 0644 |
|
| printerproperties.py | File | 78.11 KB | 0644 |
|
| probe_printer.py | File | 15.82 KB | 0644 |
|
| pysmb.py | File | 6.81 KB | 0755 |
|
| scp-dbus-service.py | File | 22.22 KB | 0755 |
|
| smburi.py | File | 3.22 KB | 0644 |
|
| statereason.py | File | 6.83 KB | 0644 |
|
| timedops.py | File | 8.21 KB | 0644 |
|