From c211d2deca1019d3ef9bd08f5a01e76ede2d0191 Mon Sep 17 00:00:00 2001 From: Tim Potter Date: Fri, 6 Sep 2002 07:34:57 +0000 Subject: [PATCH] Move printerdata dictionary object into it's own file. --- source/python/gprinterdata | 15 +++------------ source/python/printerdata.py | 23 +++++++++++++++++++++++ source/python/samba/printerdata.py | 23 +++++++++++++++++++++++ 3 files changed, 49 insertions(+), 12 deletions(-) create mode 100644 source/python/printerdata.py create mode 100644 source/python/samba/printerdata.py diff --git a/source/python/gprinterdata b/source/python/gprinterdata index 52c6e42719b..f1992db5a56 100755 --- a/source/python/gprinterdata +++ b/source/python/gprinterdata @@ -5,18 +5,8 @@ from gtkdictbrowser import GtkDictBrowser, hex_string import gtk import spoolss import string +import printerdata -class printerdata: - def __init__(self, host): - host = string.replace(host, "/", "\\") - self.hnd = spoolss.openprinter(host) - - def keys(self): - return self.hnd.enumprinterdata().keys() - - def __getitem__(self, key): - return self.hnd.getprinterdata(key)['data'] - # Initialise printerdata dictionary if len(sys.argv) != 2: @@ -25,7 +15,8 @@ if len(sys.argv) != 2: sys.exit(1) try: - t = printerdata(sys.argv[1]) + host = string.replace(sys.argv[1], "/", "\\") + t = printerdata.printerdata(host) except: print "gprinterdata: error opening %s" % sys.argv[1] sys.exit(1) diff --git a/source/python/printerdata.py b/source/python/printerdata.py new file mode 100644 index 00000000000..55b5fdf6ae7 --- /dev/null +++ b/source/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}) + diff --git a/source/python/samba/printerdata.py b/source/python/samba/printerdata.py new file mode 100644 index 00000000000..55b5fdf6ae7 --- /dev/null +++ b/source/python/samba/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}) +