Lines 930-941
def description(self):
|
Link Here
|
---|
|
930 |
def _post_unmap(self, info, values): |
930 |
def _post_unmap(self, info, values): |
931 |
"""This method can be overwritten to define special un-map |
931 |
"""This method can be overwritten to define special un-map |
932 |
methods that can not be done with the default mapping API""" |
932 |
methods that can not be done with the default mapping API""" |
|
|
933 |
univention.debug.debug(univention.debug.ADMIN, univention.debug.INFO, 'modules/__init__.py _post_unmap called with info=[%r] values=[%r]' % (info, values)) |
934 |
# Allow the fromLDAP() method of the syntax class to convert |
935 |
# a raw LDAP value into UDM-specific representation |
936 |
for field in info: |
937 |
property_ = self.description.get(field) |
938 |
if not property_ or not hasattr(property_.syntax, 'fromLDAP'): |
939 |
continue |
940 |
value = info[field] |
941 |
if isinstance(value, (list, tuple)): |
942 |
value = [property_.syntax.fromLDAP(x) for x in value] |
943 |
else: |
944 |
value = property_.syntax.fromLDAP(value) |
945 |
info[field] = value |
946 |
|
933 |
return info |
947 |
return info |
934 |
|
948 |
|
935 |
def _post_map(self, modlist, diff): |
949 |
def _post_map(self, modlist, diff): |
936 |
"""This method can be overwritten to define special map methods |
950 |
"""This method can be overwritten to define special map methods |
937 |
that can not be done with the default mapping API""" |
951 |
that can not be done with the default mapping API""" |
938 |
return modlist |
952 |
univention.debug.debug(univention.debug.ADMIN, univention.debug.INFO, 'modules/__init__.py _post_map called with modlist=[%r] diff=[%r]' % (modlist, diff)) |
|
|
953 |
ml = [] |
954 |
for tuple_ in modlist: |
955 |
try: |
956 |
key, old, new = tuple_ |
957 |
except ValueError: |
958 |
old = None |
959 |
key, new = tuple_ |
960 |
property_ = self.descriptions.get(key) |
961 |
if not property_ or not hasattr(property_.syntax, 'toLDAP'): |
962 |
ml.append(tuple_) |
963 |
continue |
964 |
new = property_.syntax.toLDAP(new) |
965 |
ml.append((key, old, new)) |
966 |
return ml |
939 |
|
967 |
|
940 |
def _ldap_modlist(self): |
968 |
def _ldap_modlist(self): |
941 |
"""Builds the list of modifications when creating and modifying this object. |
969 |
"""Builds the list of modifications when creating and modifying this object. |