Add __repr__ implementations for ldb.Message, ldb.MessageElement and ldb.Dn.
[ab/samba.git/.git] / source4 / lib / ldb / ldb.py
1 # This file was automatically generated by SWIG (http://www.swig.org).
2 # Version 1.3.35
3 #
4 # Don't modify this file, modify the SWIG interface instead.
5
6 import _ldb
7 import new
8 new_instancemethod = new.instancemethod
9 try:
10     _swig_property = property
11 except NameError:
12     pass # Python < 2.2 doesn't have 'property'.
13 def _swig_setattr_nondynamic(self,class_type,name,value,static=1):
14     if (name == "thisown"): return self.this.own(value)
15     if (name == "this"):
16         if type(value).__name__ == 'PySwigObject':
17             self.__dict__[name] = value
18             return
19     method = class_type.__swig_setmethods__.get(name,None)
20     if method: return method(self,value)
21     if (not static) or hasattr(self,name):
22         self.__dict__[name] = value
23     else:
24         raise AttributeError("You cannot add attributes to %s" % self)
25
26 def _swig_setattr(self,class_type,name,value):
27     return _swig_setattr_nondynamic(self,class_type,name,value,0)
28
29 def _swig_getattr(self,class_type,name):
30     if (name == "thisown"): return self.this.own()
31     method = class_type.__swig_getmethods__.get(name,None)
32     if method: return method(self)
33     raise AttributeError,name
34
35 def _swig_repr(self):
36     try: strthis = "proxy of " + self.this.__repr__()
37     except: strthis = ""
38     return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)
39
40 import types
41 try:
42     _object = types.ObjectType
43     _newclass = 1
44 except AttributeError:
45     class _object : pass
46     _newclass = 0
47 del types
48
49
50 def _swig_setattr_nondynamic_method(set):
51     def set_attr(self,name,value):
52         if (name == "thisown"): return self.this.own(value)
53         if hasattr(self,name) or (name == "this"):
54             set(self,name,value)
55         else:
56             raise AttributeError("You cannot add attributes to %s" % self)
57     return set_attr
58
59
60 SCOPE_DEFAULT = _ldb.SCOPE_DEFAULT
61 SCOPE_BASE = _ldb.SCOPE_BASE
62 SCOPE_ONELEVEL = _ldb.SCOPE_ONELEVEL
63 SCOPE_SUBTREE = _ldb.SCOPE_SUBTREE
64 CHANGETYPE_NONE = _ldb.CHANGETYPE_NONE
65 CHANGETYPE_ADD = _ldb.CHANGETYPE_ADD
66 CHANGETYPE_DELETE = _ldb.CHANGETYPE_DELETE
67 CHANGETYPE_MODIFY = _ldb.CHANGETYPE_MODIFY
68 ldb_val_to_py_object = _ldb.ldb_val_to_py_object
69 class Dn(object):
70     thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
71     def __init__(self, *args, **kwargs): 
72         _ldb.Dn_swiginit(self,_ldb.new_Dn(*args, **kwargs))
73     __swig_destroy__ = _ldb.delete_Dn
74     def __eq__(self, other):
75         if isinstance(other, self.__class__):
76             return self.__cmp__(other) == 0
77         if isinstance(other, str):
78             return str(self) == other
79         return False
80
81 Dn.validate = new_instancemethod(_ldb.Dn_validate,None,Dn)
82 Dn.get_casefold = new_instancemethod(_ldb.Dn_get_casefold,None,Dn)
83 Dn.__str__ = new_instancemethod(_ldb.Dn___str__,None,Dn)
84 Dn.parent = new_instancemethod(_ldb.Dn_parent,None,Dn)
85 Dn.__cmp__ = new_instancemethod(_ldb.Dn___cmp__,None,Dn)
86 Dn.is_valid = new_instancemethod(_ldb.Dn_is_valid,None,Dn)
87 Dn.is_special = new_instancemethod(_ldb.Dn_is_special,None,Dn)
88 Dn.is_null = new_instancemethod(_ldb.Dn_is_null,None,Dn)
89 Dn.check_special = new_instancemethod(_ldb.Dn_check_special,None,Dn)
90 Dn.__len__ = new_instancemethod(_ldb.Dn___len__,None,Dn)
91 Dn.add_child = new_instancemethod(_ldb.Dn_add_child,None,Dn)
92 Dn.add_base = new_instancemethod(_ldb.Dn_add_base,None,Dn)
93 Dn.canonical_str = new_instancemethod(_ldb.Dn_canonical_str,None,Dn)
94 Dn.canonical_ex_str = new_instancemethod(_ldb.Dn_canonical_ex_str,None,Dn)
95 Dn.__repr__ = new_instancemethod(_ldb.Dn___repr__,None,Dn)
96 Dn.__add__ = new_instancemethod(_ldb.Dn___add__,None,Dn)
97 Dn_swigregister = _ldb.Dn_swigregister
98 Dn_swigregister(Dn)
99
100 class ldb_msg_element(object):
101     thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
102     def __init__(self, *args, **kwargs): raise AttributeError, "No constructor defined"
103     __repr__ = _swig_repr
104     __swig_destroy__ = _ldb.delete_ldb_msg_element
105     def __getitem__(self, i):
106         ret = self.get(i)
107         if ret is None:
108             raise KeyError("no such value")
109         return ret
110
111     def __repr__(self):
112         return "MessageElement([%s])" % (",".join(repr(x) for x in self.__set__()))
113
114     def __eq__(self, other):
115         if (len(self) == 1 and self.get(0) == other):
116             return True
117         if isinstance(other, self.__class__):
118             return self.__cmp__(other) == 0
119         o = iter(other)
120         for i in range(len(self)):
121             if self.get(i) != o.next():
122                 return False
123         return True
124
125 ldb_msg_element.__iter__ = new_instancemethod(_ldb.ldb_msg_element___iter__,None,ldb_msg_element)
126 ldb_msg_element.__set__ = new_instancemethod(_ldb.ldb_msg_element___set__,None,ldb_msg_element)
127 ldb_msg_element.__len__ = new_instancemethod(_ldb.ldb_msg_element___len__,None,ldb_msg_element)
128 ldb_msg_element.get = new_instancemethod(_ldb.ldb_msg_element_get,None,ldb_msg_element)
129 ldb_msg_element.__cmp__ = new_instancemethod(_ldb.ldb_msg_element___cmp__,None,ldb_msg_element)
130 ldb_msg_element_swigregister = _ldb.ldb_msg_element_swigregister
131 ldb_msg_element_swigregister(ldb_msg_element)
132
133 def MessageElement(*args, **kwargs):
134     val = _ldb.new_MessageElement(*args, **kwargs)
135     return val
136
137 ldb_msg_list_elements = _ldb.ldb_msg_list_elements
138 class Message(object):
139     thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
140     __repr__ = _swig_repr
141     dn = _swig_property(_ldb.Message_dn_get, _ldb.Message_dn_set)
142     def __init__(self, *args, **kwargs): 
143         _ldb.Message_swiginit(self,_ldb.new_Message(*args, **kwargs))
144     __swig_destroy__ = _ldb.delete_Message
145     def get(self, key, default=None):
146         if key == "dn":
147             return self.dn
148         return self.find_element(key)
149
150     def __getitem__(self, key):
151         ret = self.get(key, None)
152         if ret is None:
153             raise KeyError("No such element")
154         return ret
155
156     def iteritems(self):
157         for k in self.keys():
158             yield k, self[k]
159
160     def items(self):
161         return list(self.iteritems())
162
163     def __repr__(self):
164         return "Message(%s)" % repr(dict(self.iteritems()))
165
166 Message.find_element = new_instancemethod(_ldb.Message_find_element,None,Message)
167 Message.__setitem__ = new_instancemethod(_ldb.Message___setitem__,None,Message)
168 Message.__len__ = new_instancemethod(_ldb.Message___len__,None,Message)
169 Message.keys = new_instancemethod(_ldb.Message_keys,None,Message)
170 Message.__iter__ = new_instancemethod(_ldb.Message___iter__,None,Message)
171 Message.__delitem__ = new_instancemethod(_ldb.Message___delitem__,None,Message)
172 Message_swigregister = _ldb.Message_swigregister
173 Message_swigregister(Message)
174
175 ldb_ldif_to_pyobject = _ldb.ldb_ldif_to_pyobject
176 LdbError = _ldb.LdbError
177
178 LDB_ERR_OPERATIONS_ERROR = _ldb.LDB_ERR_OPERATIONS_ERROR
179 LDB_ERR_PROTOCOL_ERROR = _ldb.LDB_ERR_PROTOCOL_ERROR
180 LDB_ERR_TIME_LIMIT_EXCEEDED = _ldb.LDB_ERR_TIME_LIMIT_EXCEEDED
181 LDB_ERR_SIZE_LIMIT_EXCEEDED = _ldb.LDB_ERR_SIZE_LIMIT_EXCEEDED
182 LDB_ERR_COMPARE_FALSE = _ldb.LDB_ERR_COMPARE_FALSE
183 LDB_ERR_COMPARE_TRUE = _ldb.LDB_ERR_COMPARE_TRUE
184 LDB_ERR_AUTH_METHOD_NOT_SUPPORTED = _ldb.LDB_ERR_AUTH_METHOD_NOT_SUPPORTED
185 LDB_ERR_STRONG_AUTH_REQUIRED = _ldb.LDB_ERR_STRONG_AUTH_REQUIRED
186 LDB_ERR_REFERRAL = _ldb.LDB_ERR_REFERRAL
187 LDB_ERR_ADMIN_LIMIT_EXCEEDED = _ldb.LDB_ERR_ADMIN_LIMIT_EXCEEDED
188 LDB_ERR_UNSUPPORTED_CRITICAL_EXTENSION = _ldb.LDB_ERR_UNSUPPORTED_CRITICAL_EXTENSION
189 LDB_ERR_CONFIDENTIALITY_REQUIRED = _ldb.LDB_ERR_CONFIDENTIALITY_REQUIRED
190 LDB_ERR_SASL_BIND_IN_PROGRESS = _ldb.LDB_ERR_SASL_BIND_IN_PROGRESS
191 LDB_ERR_NO_SUCH_ATTRIBUTE = _ldb.LDB_ERR_NO_SUCH_ATTRIBUTE
192 LDB_ERR_UNDEFINED_ATTRIBUTE_TYPE = _ldb.LDB_ERR_UNDEFINED_ATTRIBUTE_TYPE
193 LDB_ERR_INAPPROPRIATE_MATCHING = _ldb.LDB_ERR_INAPPROPRIATE_MATCHING
194 LDB_ERR_CONSTRAINT_VIOLATION = _ldb.LDB_ERR_CONSTRAINT_VIOLATION
195 LDB_ERR_ATTRIBUTE_OR_VALUE_EXISTS = _ldb.LDB_ERR_ATTRIBUTE_OR_VALUE_EXISTS
196 LDB_ERR_INVALID_ATTRIBUTE_SYNTAX = _ldb.LDB_ERR_INVALID_ATTRIBUTE_SYNTAX
197 LDB_ERR_NO_SUCH_OBJECT = _ldb.LDB_ERR_NO_SUCH_OBJECT
198 LDB_ERR_ALIAS_PROBLEM = _ldb.LDB_ERR_ALIAS_PROBLEM
199 LDB_ERR_INVALID_DN_SYNTAX = _ldb.LDB_ERR_INVALID_DN_SYNTAX
200 LDB_ERR_ALIAS_DEREFERENCING_PROBLEM = _ldb.LDB_ERR_ALIAS_DEREFERENCING_PROBLEM
201 LDB_ERR_INAPPROPRIATE_AUTHENTICATION = _ldb.LDB_ERR_INAPPROPRIATE_AUTHENTICATION
202 LDB_ERR_INVALID_CREDENTIALS = _ldb.LDB_ERR_INVALID_CREDENTIALS
203 LDB_ERR_INSUFFICIENT_ACCESS_RIGHTS = _ldb.LDB_ERR_INSUFFICIENT_ACCESS_RIGHTS
204 LDB_ERR_BUSY = _ldb.LDB_ERR_BUSY
205 LDB_ERR_UNAVAILABLE = _ldb.LDB_ERR_UNAVAILABLE
206 LDB_ERR_UNWILLING_TO_PERFORM = _ldb.LDB_ERR_UNWILLING_TO_PERFORM
207 LDB_ERR_LOOP_DETECT = _ldb.LDB_ERR_LOOP_DETECT
208 LDB_ERR_NAMING_VIOLATION = _ldb.LDB_ERR_NAMING_VIOLATION
209 LDB_ERR_OBJECT_CLASS_VIOLATION = _ldb.LDB_ERR_OBJECT_CLASS_VIOLATION
210 LDB_ERR_NOT_ALLOWED_ON_NON_LEAF = _ldb.LDB_ERR_NOT_ALLOWED_ON_NON_LEAF
211 LDB_ERR_NOT_ALLOWED_ON_RDN = _ldb.LDB_ERR_NOT_ALLOWED_ON_RDN
212 LDB_ERR_ENTRY_ALREADY_EXISTS = _ldb.LDB_ERR_ENTRY_ALREADY_EXISTS
213 LDB_ERR_OBJECT_CLASS_MODS_PROHIBITED = _ldb.LDB_ERR_OBJECT_CLASS_MODS_PROHIBITED
214 LDB_ERR_AFFECTS_MULTIPLE_DSAS = _ldb.LDB_ERR_AFFECTS_MULTIPLE_DSAS
215 LDB_ERR_OTHER = _ldb.LDB_ERR_OTHER
216 class Ldb(object):
217     thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
218     __repr__ = _swig_repr
219     def __init__(self, *args, **kwargs): 
220         _ldb.Ldb_swiginit(self,_ldb.new_Ldb(*args, **kwargs))
221     __swig_destroy__ = _ldb.delete_Ldb
222     def __init__(self, url=None, flags=0, options=None):
223         _ldb.Ldb_swiginit(self,_ldb.new_Ldb())
224         if url is not None:
225             self.connect(url, flags, options)
226
227     def search(self, base=None, scope=SCOPE_DEFAULT, expression=None, 
228                attrs=None, controls=None):
229         if not (attrs is None or isinstance(attrs, list)):
230             raise TypeError("attributes not a list")
231         parsed_controls = None
232         if controls is not None:
233             parsed_controls = self.parse_control_strings(controls)
234         return self.search_ex(base, scope, expression, attrs, 
235                               parsed_controls)
236
237 Ldb.connect = new_instancemethod(_ldb.Ldb_connect,None,Ldb)
238 Ldb.search_ex = new_instancemethod(_ldb.Ldb_search_ex,None,Ldb)
239 Ldb.delete = new_instancemethod(_ldb.Ldb_delete,None,Ldb)
240 Ldb.rename = new_instancemethod(_ldb.Ldb_rename,None,Ldb)
241 Ldb.parse_control_strings = new_instancemethod(_ldb.Ldb_parse_control_strings,None,Ldb)
242 Ldb.add = new_instancemethod(_ldb.Ldb_add,None,Ldb)
243 Ldb.modify = new_instancemethod(_ldb.Ldb_modify,None,Ldb)
244 Ldb.get_config_basedn = new_instancemethod(_ldb.Ldb_get_config_basedn,None,Ldb)
245 Ldb.get_root_basedn = new_instancemethod(_ldb.Ldb_get_root_basedn,None,Ldb)
246 Ldb.get_schema_basedn = new_instancemethod(_ldb.Ldb_get_schema_basedn,None,Ldb)
247 Ldb.get_default_basedn = new_instancemethod(_ldb.Ldb_get_default_basedn,None,Ldb)
248 Ldb.schema_format_value = new_instancemethod(_ldb.Ldb_schema_format_value,None,Ldb)
249 Ldb.errstring = new_instancemethod(_ldb.Ldb_errstring,None,Ldb)
250 Ldb.set_create_perms = new_instancemethod(_ldb.Ldb_set_create_perms,None,Ldb)
251 Ldb.set_modules_dir = new_instancemethod(_ldb.Ldb_set_modules_dir,None,Ldb)
252 Ldb.set_debug = new_instancemethod(_ldb.Ldb_set_debug,None,Ldb)
253 Ldb.set_opaque = new_instancemethod(_ldb.Ldb_set_opaque,None,Ldb)
254 Ldb.get_opaque = new_instancemethod(_ldb.Ldb_get_opaque,None,Ldb)
255 Ldb.transaction_start = new_instancemethod(_ldb.Ldb_transaction_start,None,Ldb)
256 Ldb.transaction_commit = new_instancemethod(_ldb.Ldb_transaction_commit,None,Ldb)
257 Ldb.transaction_cancel = new_instancemethod(_ldb.Ldb_transaction_cancel,None,Ldb)
258 Ldb.schema_attribute_remove = new_instancemethod(_ldb.Ldb_schema_attribute_remove,None,Ldb)
259 Ldb.schema_attribute_add = new_instancemethod(_ldb.Ldb_schema_attribute_add,None,Ldb)
260 Ldb.setup_wellknown_attributes = new_instancemethod(_ldb.Ldb_setup_wellknown_attributes,None,Ldb)
261 Ldb.__contains__ = new_instancemethod(_ldb.Ldb___contains__,None,Ldb)
262 Ldb.parse_ldif = new_instancemethod(_ldb.Ldb_parse_ldif,None,Ldb)
263 Ldb_swigregister = _ldb.Ldb_swigregister
264 Ldb_swigregister(Ldb)
265
266 valid_attr_name = _ldb.valid_attr_name
267 timestring = _ldb.timestring
268 string_to_time = _ldb.string_to_time
269 register_module = _ldb.register_module
270
271