mirror of
https://github.com/samba-team/samba.git
synced 2025-06-21 03:17:08 +03:00
39 lines
1.2 KiB
Python
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})
|
|
|