Lines 694-699
class ImportUser(User):
|
Link Here
|
---|
|
694 |
:returns value read from CSV or calculated from scheme or None |
694 |
:returns value read from CSV or calculated from scheme or None |
695 |
:rtype str or None |
695 |
:rtype str or None |
696 |
""" |
696 |
""" |
|
|
697 |
self.logger.debug('### property_name=%r', property_name) |
697 |
try: |
698 |
try: |
698 |
return self.udm_properties[property_name] |
699 |
return self.udm_properties[property_name] |
699 |
except KeyError: |
700 |
except KeyError: |
Lines 703-712
class ImportUser(User):
|
Link Here
|
---|
|
703 |
self._lo, _po = get_admin_connection() |
704 |
self._lo, _po = get_admin_connection() |
704 |
ldap_attr = get_ldap_mapping_for_udm_property(property_name, self._meta.udm_module, self._lo) |
705 |
ldap_attr = get_ldap_mapping_for_udm_property(property_name, self._meta.udm_module, self._lo) |
705 |
if self._schema_write_check(property_name, property_name, ldap_attr): |
706 |
if self._schema_write_check(property_name, property_name, ldap_attr): |
|
|
707 |
self.logger.debug('### self._schema_write_check() -> yes') |
706 |
self.udm_properties[property_name] = self.format_from_scheme( |
708 |
self.udm_properties[property_name] = self.format_from_scheme( |
707 |
property_name, |
709 |
property_name, |
708 |
self.config["scheme"][property_name] |
710 |
self.config["scheme"][property_name] |
709 |
) |
711 |
) |
|
|
712 |
self.logger.debug('### from format_from_scheme(): self.udm_properties[property_name]=%r', self.udm_properties[property_name]) |
710 |
return self.udm_properties.get(property_name) |
713 |
return self.udm_properties.get(property_name) |
711 |
|
714 |
|
712 |
def make_username(self): |
715 |
def make_username(self): |
Lines 923-936
class ImportUser(User):
|
Link Here
|
---|
|
923 |
:param kwargs: dict: additional data to use for formatting |
926 |
:param kwargs: dict: additional data to use for formatting |
924 |
:return: None |
927 |
:return: None |
925 |
""" |
928 |
""" |
|
|
929 |
self.logger.debug('## prop_to_format=%r scheme=%r kwargs=%r', prop_to_format, scheme, kwargs) |
926 |
no_brackets = scheme |
930 |
no_brackets = scheme |
927 |
props_used_in_scheme = [x[0] for x in self._prop_regex.findall(no_brackets) if x[0]] |
931 |
props_used_in_scheme = [x[0] for x in self._prop_regex.findall(no_brackets) if x[0]] |
|
|
932 |
self.logger.debug('## props_used_in_scheme=%r', props_used_in_scheme) |
928 |
for prop_used_in_scheme in props_used_in_scheme: |
933 |
for prop_used_in_scheme in props_used_in_scheme: |
|
|
934 |
self.logger.debug('## prop_used_in_scheme=%r', prop_used_in_scheme) |
929 |
if (hasattr(self, prop_used_in_scheme) and getattr(self, prop_used_in_scheme) or |
935 |
if (hasattr(self, prop_used_in_scheme) and getattr(self, prop_used_in_scheme) or |
930 |
self.udm_properties.get(prop_used_in_scheme) or |
936 |
self.udm_properties.get(prop_used_in_scheme) or |
931 |
prop_used_in_scheme in kwargs or |
937 |
prop_used_in_scheme in kwargs or |
932 |
prop_used_in_scheme == "username" and (self.name or self.udm_properties.get("username"))): |
938 |
prop_used_in_scheme == "username" and (self.name or self.udm_properties.get("username"))): |
933 |
# property exists and has value |
939 |
# property exists and has value |
|
|
940 |
self.logger.debug('## property exists and has value') |
934 |
continue |
941 |
continue |
935 |
if ( |
942 |
if ( |
936 |
prop_used_in_scheme not in self._prop_providers and |
943 |
prop_used_in_scheme not in self._prop_providers and |
Lines 948-953
class ImportUser(User):
|
Link Here
|
---|
|
948 |
method_sig = FunctionSignature(self._prop_providers[prop_used_in_scheme], (), {}) |
955 |
method_sig = FunctionSignature(self._prop_providers[prop_used_in_scheme], (), {}) |
949 |
except KeyError: |
956 |
except KeyError: |
950 |
method_sig = FunctionSignature("make_udm_property", (prop_used_in_scheme,), {}) |
957 |
method_sig = FunctionSignature("make_udm_property", (prop_used_in_scheme,), {}) |
|
|
958 |
self.logger.debug('## method_sig=%r', method_sig) |
951 |
if method_sig in self._used_methods[prop_to_format]: |
959 |
if method_sig in self._used_methods[prop_to_format]: |
952 |
# already ran make_<method_name>() for his formatting job |
960 |
# already ran make_<method_name>() for his formatting job |
953 |
self.logger.error( |
961 |
self.logger.error( |
Lines 962-969
class ImportUser(User):
|
Link Here
|
---|
|
962 |
entry_count=self.entry_count, import_user=self |
970 |
entry_count=self.entry_count, import_user=self |
963 |
) |
971 |
) |
964 |
self._used_methods[prop_to_format].append(method_sig) |
972 |
self._used_methods[prop_to_format].append(method_sig) |
965 |
getattr(self, method_sig.name)(*method_sig.args, **method_sig.kwargs) |
973 |
self.logger.debug('## self._used_methods[%r].append(%r)', prop_to_format, method_sig) |
|
|
974 |
res = getattr(self, method_sig.name)(*method_sig.args, **method_sig.kwargs) |
975 |
self.logger.debug('## getattr(self, %r)(%r, %r)=%r', method_sig.name, method_sig.args, method_sig.kwargs, res) |
966 |
self._used_methods.pop(prop_to_format, None) |
976 |
self._used_methods.pop(prop_to_format, None) |
|
|
977 |
self.logger.debug('## self._used_methods.pop(%r, None)', prop_to_format) |
967 |
|
978 |
|
968 |
def format_from_scheme(self, prop_name, scheme, **kwargs): |
979 |
def format_from_scheme(self, prop_name, scheme, **kwargs): |
969 |
""" |
980 |
""" |
Lines 982-987
class ImportUser(User):
|
Link Here
|
---|
|
982 |
:param kwargs: dict: additional data to use for formatting |
993 |
:param kwargs: dict: additional data to use for formatting |
983 |
:return: str: formatted string |
994 |
:return: str: formatted string |
984 |
""" |
995 |
""" |
|
|
996 |
self.logger.debug('## prop_name=%r scheme=%r kwargs=%r', prop_name, scheme, kwargs) |
985 |
self.solve_format_dependencies(prop_name, scheme, **kwargs) |
997 |
self.solve_format_dependencies(prop_name, scheme, **kwargs) |
986 |
if self.input_data: |
998 |
if self.input_data: |
987 |
all_fields = self.reader.get_data_mapping(self.input_data) |
999 |
all_fields = self.reader.get_data_mapping(self.input_data) |