X7ROOT File Manager
Current Path:
/usr/share/system-config-printer
usr
/
share
/
system-config-printer
/
📁
..
📄
HIG.py
(57 B)
📄
HIG.pyc
(231 B)
📄
HIG.pyo
(231 B)
📄
PhysicalDevice.py
(10.69 KB)
📄
PhysicalDevice.pyc
(7.72 KB)
📄
PhysicalDevice.pyo
(7.72 KB)
📄
SearchCriterion.py
(1.32 KB)
📄
SearchCriterion.pyc
(982 B)
📄
SearchCriterion.pyo
(982 B)
📄
ToolbarSearchEntry.py
(6.91 KB)
📄
ToolbarSearchEntry.pyc
(6.43 KB)
📄
ToolbarSearchEntry.pyo
(6.43 KB)
📄
applet.py
(15.71 KB)
📄
applet.pyc
(14.03 KB)
📄
applet.pyo
(14.03 KB)
📄
asyncconn.py
(9.63 KB)
📄
asyncconn.pyc
(9.8 KB)
📄
asyncconn.pyo
(9.8 KB)
📄
asyncipp.py
(26.02 KB)
📄
asyncipp.pyc
(20.5 KB)
📄
asyncipp.pyo
(20.5 KB)
📄
asyncpk1.py
(25.68 KB)
📄
asyncpk1.pyc
(20.4 KB)
📄
asyncpk1.pyo
(20.4 KB)
📄
authconn.py
(18.34 KB)
📄
authconn.pyc
(15.74 KB)
📄
authconn.pyo
(15.74 KB)
📄
check-device-ids.py
(10.9 KB)
📄
check-device-ids.pyc
(8.13 KB)
📄
check-device-ids.pyo
(8.13 KB)
📄
config.py
(1.05 KB)
📄
config.pyc
(370 B)
📄
config.pyo
(370 B)
📄
cupspk.py
(27.35 KB)
📄
cupspk.pyc
(18.01 KB)
📄
cupspk.pyo
(18.01 KB)
📄
debug.py
(1.62 KB)
📄
debug.pyc
(1.55 KB)
📄
debug.pyo
(1.55 KB)
📄
dnssdresolve.py
(4.91 KB)
📄
dnssdresolve.pyc
(5.17 KB)
📄
dnssdresolve.pyo
(5.17 KB)
📄
errordialogs.py
(3.13 KB)
📄
errordialogs.pyc
(2.57 KB)
📄
errordialogs.pyo
(2.57 KB)
📄
firewallsettings.py
(9.25 KB)
📄
firewallsettings.pyc
(8.69 KB)
📄
firewallsettings.pyo
(8.69 KB)
📄
gtkinklevel.py
(4.71 KB)
📄
gtkinklevel.pyc
(4.18 KB)
📄
gtkinklevel.pyo
(4.18 KB)
📄
gui.py
(2.12 KB)
📄
gui.pyc
(1.76 KB)
📄
gui.pyo
(1.76 KB)
📁
icons
📄
install-printerdriver.py
(2.82 KB)
📄
install-printerdriver.pyc
(2.42 KB)
📄
install-printerdriver.pyo
(2.42 KB)
📄
installpackage.py
(1.34 KB)
📄
installpackage.pyc
(1.1 KB)
📄
installpackage.pyo
(1.1 KB)
📄
jobviewer.py
(91.15 KB)
📄
jobviewer.pyc
(64.36 KB)
📄
jobviewer.pyo
(64.36 KB)
📄
monitor.py
(31.96 KB)
📄
monitor.pyc
(23 KB)
📄
monitor.pyo
(23 KB)
📄
newprinter.py
(164.81 KB)
📄
newprinter.pyc
(102.42 KB)
📄
newprinter.pyo
(102.42 KB)
📄
options.py
(18.73 KB)
📄
options.pyc
(16.57 KB)
📄
options.pyo
(16.57 KB)
📄
optionwidgets.py
(8.78 KB)
📄
optionwidgets.pyc
(7.94 KB)
📄
optionwidgets.pyo
(7.94 KB)
📄
ppdcache.py
(7.41 KB)
📄
ppdcache.pyc
(6.1 KB)
📄
ppdcache.pyo
(6.1 KB)
📄
ppdippstr.py
(7.15 KB)
📄
ppdippstr.pyc
(5.64 KB)
📄
ppdippstr.pyo
(5.64 KB)
📄
ppdsloader.py
(10.78 KB)
📄
ppdsloader.pyc
(10.22 KB)
📄
ppdsloader.pyo
(10.22 KB)
📄
printerproperties.py
(78.52 KB)
📄
printerproperties.pyc
(51.48 KB)
📄
printerproperties.pyo
(51.48 KB)
📄
probe_printer.py
(15.24 KB)
📄
probe_printer.pyc
(13.82 KB)
📄
probe_printer.pyo
(13.82 KB)
📄
pysmb.py
(6.8 KB)
📄
pysmb.pyc
(5.47 KB)
📄
pysmb.pyo
(5.47 KB)
📄
scp-dbus-service.py
(19.04 KB)
📄
scp-dbus-service.pyc
(21.34 KB)
📄
scp-dbus-service.pyo
(21.34 KB)
📄
serversettings.py
(21.4 KB)
📄
serversettings.pyc
(16.15 KB)
📄
serversettings.pyo
(16.15 KB)
📄
smburi.py
(3.22 KB)
📄
smburi.pyc
(2.61 KB)
📄
smburi.pyo
(2.61 KB)
📄
statereason.py
(6.09 KB)
📄
statereason.pyc
(5.02 KB)
📄
statereason.pyo
(5.02 KB)
📄
system-config-printer.py
(80.8 KB)
📄
system-config-printer.pyc
(57.95 KB)
📄
system-config-printer.pyo
(57.95 KB)
📄
timedops.py
(8 KB)
📄
timedops.pyc
(8 KB)
📄
timedops.pyo
(8 KB)
📁
troubleshoot
📁
ui
📄
userdefault.py
(6.12 KB)
📄
userdefault.pyc
(5.34 KB)
📄
userdefault.pyo
(5.34 KB)
📁
xml
Editing: dnssdresolve.py
#!/usr/bin/python ## Copyright (C) 2010, 2011, 2012, 2013 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 dbus, re from debug import * class DNSSDHostNamesResolver: def __init__ (self, devices): self._devices = devices self._unresolved = len (devices) self._device_uri_by_name = {} debugprint ("+%s" % self) def __del__ (self): debugprint ("-%s" % self) def resolve (self, reply_handler): def expandhex (searchres): expr = searchres.group(0) return chr(int(expr[1:], 16)) self._reply_handler = reply_handler bus = dbus.SystemBus () if not bus: reply_handler ([]) del self._devices del self._reply_handler return for uri, device in self._devices.iteritems (): if not uri.startswith ("dnssd://"): self._unresolved -= 1 continue # We need to resolve the DNS-SD hostname in order to # compare with other network devices. p = uri[8:].find ("/") if p == -1: hostname = uri[8:] else: hostname = uri[8:8+p] hostname = hostname.encode('utf-8') hostname = re.sub("%(?i)[\dabcdef]{2}", expandhex, hostname) elements = hostname.rsplit (".", 3) if len (elements) != 4: self._resolved () continue name, stype, protocol, domain = elements stype += "." + protocol # e.g. _printer._tcp try: obj = bus.get_object ("org.freedesktop.Avahi", "/") server = dbus.Interface (obj, "org.freedesktop.Avahi.Server") self._device_uri_by_name[(name, stype, domain)] = uri debugprint ("Resolving address for %s" % repr (hostname)) server.ResolveService (-1, -1, name, stype, domain, -1, 0, reply_handler=self._reply, error_handler=lambda e: self._error (uri, e)) except dbus.DBusException, e: debugprint ("Failed to resolve address: %s" % repr (e)) self._resolved () def _resolved (self): self._unresolved -= 1 if self._unresolved == 0: debugprint ("All addresses resolved") self._reply_handler (self._devices) del self._devices del self._reply_handler def _reply (self, interface, protocol, name, stype, domain, host, aprotocol, address, port, txt, flags): uri = self._device_uri_by_name[(name.encode ('utf-8'), stype, domain)] self._devices[uri].address = address hostname = host p = hostname.find(".") if p != -1: hostname = hostname[:p] debugprint ("%s is at %s (%s)" % (uri, address, hostname)) self._devices[uri].hostname = hostname self._resolved () def _error (self, uri, error): debugprint ("Error resolving %s: %s" % (uri, repr (error))) self._resolved () if __name__ == '__main__': class Device: def __repr__ (self): try: return "<Device @ %s>" % self.address except: return "<Device>" devices = {"dnssd://dlk-08E206-P1._printer._tcp.local/": Device(), "dnssd://foo._printer._tcp.local/": Device()} from dbus.glib import DBusGMainLoop DBusGMainLoop (set_as_default=True) class Test: def __init__ (self, loop, devices): self._loop = loop self._devices = devices def run (self): r = DNSSDHostNamesResolver (self._devices) r.resolve (reply_handler=self.reply) return False def reply (self, *args): print args self._loop.quit () from gi.repository import GObject from gi.repository import GLib loop = GObject.MainLoop () set_debugging (True) GLib.idle_add (Test (loop, devices).run) loop.run ()
Upload File
Create Folder