summaryrefslogtreecommitdiff
path: root/source3/python/printerdata.py
diff options
context:
space:
mode:
Diffstat (limited to 'source3/python/printerdata.py')
-rw-r--r--source3/python/printerdata.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/source3/python/printerdata.py b/source3/python/printerdata.py
new file mode 100644
index 0000000000..55b5fdf6ae
--- /dev/null
+++ b/source3/python/printerdata.py
@@ -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})
+