Initial import
[samba] / source / python / gprinterdata
diff --git a/source/python/gprinterdata b/source/python/gprinterdata
new file mode 100755 (executable)
index 0000000..cd06207
--- /dev/null
@@ -0,0 +1,39 @@
+#!/usr/bin/env python
+
+import sys
+from gtkdictbrowser import GtkDictBrowser, hex_string
+import gtk
+from samba import spoolss
+import string
+import printerdata
+
+# Initialise printerdata dictionary
+
+if len(sys.argv) < 2 or len(sys.argv) > 3:
+    print "Usage: gprinterdata [--ex] <printer>"
+    print "where <printer> is a UNC printer name."
+    sys.exit(1)
+
+try:
+    host = string.replace(sys.argv[len(sys.argv) - 1], "/", "\\")
+    if sys.argv[1] == "--ex":
+        t = printerdata.printerdata_ex(host)
+    else:
+        t = printerdata.printerdata(host)
+except:
+    print "gprinterdata: error opening %s" % sys.argv[len(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()