mirror of
https://github.com/samba-team/samba.git
synced 2025-11-19 04:23:48 +03:00
first public release of samba4 code
This commit is contained in:
1
source/python/samba/.cvsignore
Normal file
1
source/python/samba/.cvsignore
Normal file
@@ -0,0 +1 @@
|
||||
*.pyc
|
||||
7
source/python/samba/__init__.py
Normal file
7
source/python/samba/__init__.py
Normal file
@@ -0,0 +1,7 @@
|
||||
"""samba
|
||||
|
||||
Various Python modules for interfacing to Samba.
|
||||
|
||||
Try using help() to examine their documentation.
|
||||
"""
|
||||
|
||||
59
source/python/samba/printerdata.py
Normal file
59
source/python/samba/printerdata.py
Normal file
@@ -0,0 +1,59 @@
|
||||
#!/usr/bin/env 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
|
||||
#
|
||||
|
||||
#
|
||||
# TODO:
|
||||
#
|
||||
# - Implement __delitem__
|
||||
#
|
||||
|
||||
from samba 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):
|
||||
self.host = host
|
||||
self.top_level_keys = ["PrinterDriverData", "DsSpooler", "DsDriver",
|
||||
"DsUser"]
|
||||
|
||||
def keys(self):
|
||||
return self.top_level_keys
|
||||
|
||||
def has_key(self, key):
|
||||
for k in self.top_level_keys:
|
||||
if k == key:
|
||||
return 1
|
||||
return 0
|
||||
|
||||
class printerdata_ex_subkey:
|
||||
def __init__(self, host, key):
|
||||
self.hnd = spoolss.openprinter(host)
|
||||
self.key = key
|
||||
|
||||
def keys(self):
|
||||
return self.hnd.enumprinterdataex(self.key).keys()
|
||||
|
||||
def __getitem__(self, key):
|
||||
return self.hnd.getprinterdataex(self.key, key)['data']
|
||||
|
||||
def __getitem__(self, key):
|
||||
return self.printerdata_ex_subkey(self.host, key)
|
||||
Reference in New Issue
Block a user