1
0
mirror of https://github.com/samba-team/samba.git synced 2025-06-25 19:17:10 +03:00
samba-mirror/source3/python/gprinterdata
Tim Potter 62d6c7f8f8 Display printerdata values in hex.
(This used to be commit cdd64e0860bf05b115e0d107f6cb2b9e1f6d0e9b)
2002-09-03 01:56:05 +00:00

46 lines
1013 B
Python
Executable File

#!/usr/bin/env python
import sys
from gtkdictbrowser import GtkDictBrowser, hex_string
import gtk
import spoolss
import string
class printerdata:
def __init__(self, host):
host = string.replace(host, "/", "\\")
self.hnd = spoolss.openprinter(host)
def keys(self):
return self.hnd.enumprinterdata().keys()
def __getitem__(self, key):
return self.hnd.getprinterdata(key)['data']
# Initialise printerdata dictionary
if len(sys.argv) != 2:
print "Usage: gprinterdata <printer>"
print "where <printer> is a UNC printer name."
sys.exit(1)
try:
t = printerdata(sys.argv[1])
except:
print "gprinterdata: error opening %s" % sys.argv[1]
sys.exit(1)
# Create interface
db = GtkDictBrowser(t)
db.register_get_value_text_fn("", hex_string)
db.build_ui('gprinterdata')
# Override Python's handling of ctrl-c so we can break out of the
# gui from the command line.
import signal
signal.signal(signal.SIGINT, signal.SIG_DFL)
gtk.mainloop()