mirror of
https://github.com/samba-team/samba.git
synced 2025-01-20 14:03:59 +03:00
Initial version of printerdata_ex browsing.
(This used to be commit c201a61a52ffbaf1b1b70e25e0ef2b29a89f921c)
This commit is contained in:
parent
a2327b8485
commit
c9101c3b01
@ -9,16 +9,19 @@ import printerdata
|
||||
|
||||
# Initialise printerdata dictionary
|
||||
|
||||
if len(sys.argv) != 2:
|
||||
print "Usage: gprinterdata <printer>"
|
||||
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[1], "/", "\\")
|
||||
t = printerdata.printerdata(host)
|
||||
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[1]
|
||||
print "gprinterdata: error opening %s" % sys.argv[len(sys.argv) - 1]
|
||||
sys.exit(1)
|
||||
|
||||
# Create interface
|
||||
|
@ -21,3 +21,18 @@ class printerdata:
|
||||
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})
|
||||
|
||||
|
@ -21,3 +21,18 @@ class printerdata:
|
||||
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})
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user