1
0
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:
Tim Potter 2002-09-06 07:44:21 +00:00
parent a2327b8485
commit c9101c3b01
3 changed files with 38 additions and 5 deletions

View File

@ -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], "/", "\\")
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

View File

@ -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})

View File

@ -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})