1#!/usr/bin/env python 2 3import sys 4from gtkdictbrowser import GtkDictBrowser, hex_string 5import gtk 6from samba import spoolss 7import string 8import printerdata 9 10# Initialise printerdata dictionary 11 12if len(sys.argv) < 2 or len(sys.argv) > 3: 13 print "Usage: gprinterdata [--ex] <printer>" 14 print "where <printer> is a UNC printer name." 15 sys.exit(1) 16 17try: 18 host = string.replace(sys.argv[len(sys.argv) - 1], "/", "\\") 19 if sys.argv[1] == "--ex": 20 t = printerdata.printerdata_ex(host) 21 else: 22 t = printerdata.printerdata(host) 23except: 24 print "gprinterdata: error opening %s" % sys.argv[len(sys.argv) - 1] 25 sys.exit(1) 26 27# Create interface 28 29db = GtkDictBrowser(t) 30db.register_get_value_text_fn("", hex_string) 31db.build_ui('gprinterdata') 32 33# Override Python's handling of ctrl-c so we can break out of the 34# gui from the command line. 35 36import signal 37signal.signal(signal.SIGINT, signal.SIG_DFL) 38 39gtk.mainloop() 40