Move printerdata dictionary object into it's own file.
authorTim Potter <tpot@samba.org>
Fri, 6 Sep 2002 07:34:57 +0000 (07:34 +0000)
committerTim Potter <tpot@samba.org>
Fri, 6 Sep 2002 07:34:57 +0000 (07:34 +0000)
source/python/gprinterdata
source/python/printerdata.py [new file with mode: 0644]
source/python/samba/printerdata.py [new file with mode: 0644]

index 52c6e42719b76e0a1e94c0e65398a7e52d7d0b89..f1992db5a56219a19e35190a8585505f5cbd5527 100755 (executable)
@@ -5,18 +5,8 @@ from gtkdictbrowser import GtkDictBrowser, hex_string
 import gtk
 import spoolss
 import string
+import printerdata
 
-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:
@@ -25,7 +15,8 @@ if len(sys.argv) != 2:
     sys.exit(1)
 
 try:
-    t = printerdata(sys.argv[1])
+    host = string.replace(sys.argv[1], "/", "\\")
+    t = printerdata.printerdata(host)
 except:
     print "gprinterdata: error opening %s" % sys.argv[1]
     sys.exit(1)
diff --git a/source/python/printerdata.py b/source/python/printerdata.py
new file mode 100644 (file)
index 0000000..55b5fdf
--- /dev/null
@@ -0,0 +1,23 @@
+#
+# A python module that maps printerdata to a dictionary.  We define
+# two classes.  The printerdata class maps to Get/Set/Enum/DeletePrinterData
+# and the printerdata_ex class maps to Get/Set/Enum/DeletePrinterDataEx
+#
+
+import spoolss
+
+class printerdata:
+    def __init__(self, host, creds = {}):
+        self.hnd = spoolss.openprinter(host, creds = creds)
+
+    def keys(self):
+        return self.hnd.enumprinterdata().keys()
+
+    def __getitem__(self, key):
+        return self.hnd.getprinterdata(key)['data']
+
+    def __setitem__(self, key, value):
+        # Store as REG_BINARY for now
+        self.hnd.setprinterdata({"key": "", "value": key, "type": 3,
+                                 "data": value})
+        
diff --git a/source/python/samba/printerdata.py b/source/python/samba/printerdata.py
new file mode 100644 (file)
index 0000000..55b5fdf
--- /dev/null
@@ -0,0 +1,23 @@
+#
+# A python module that maps printerdata to a dictionary.  We define
+# two classes.  The printerdata class maps to Get/Set/Enum/DeletePrinterData
+# and the printerdata_ex class maps to Get/Set/Enum/DeletePrinterDataEx
+#
+
+import spoolss
+
+class printerdata:
+    def __init__(self, host, creds = {}):
+        self.hnd = spoolss.openprinter(host, creds = creds)
+
+    def keys(self):
+        return self.hnd.enumprinterdata().keys()
+
+    def __getitem__(self, key):
+        return self.hnd.getprinterdata(key)['data']
+
+    def __setitem__(self, key, value):
+        # Store as REG_BINARY for now
+        self.hnd.setprinterdata({"key": "", "value": key, "type": 3,
+                                 "data": value})
+