diff options
-rwxr-xr-x | source3/python/gprinterdata | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/source3/python/gprinterdata b/source3/python/gprinterdata new file mode 100755 index 0000000000..cd04e6f5a1 --- /dev/null +++ b/source3/python/gprinterdata @@ -0,0 +1,44 @@ +#!/usr/bin/env python + +import sys +from gtkdictbrowser import GtkDictBrowser +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.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() |