1
0
mirror of https://github.com/samba-team/samba.git synced 2025-06-21 03:17:08 +03:00
samba-mirror/source/python/printerdata.py

39 lines
1.2 KiB
Python

#
# 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})
class printerdata_ex:
def __init__(self, host, creds = {}):
self.hnd = spoolss.openprinter(host, creds = creds)
def keys(self):
return self.hnd.enumprinterdataex("PrinterDriverData").keys()
def __getitem__(self, key):
return self.hnd.getprinterdataex("PrinterDriverData", key)['data']
def __setitem__(self, key, value):
# Store as REG_BINARY for now
self.hnd.setprinterdataex({"key": "PrinterDriverData", "value": key, "type": 3,
"data": value})