ucsschool.importer package#
Subpackages#
- ucsschool.importer.contrib package
- ucsschool.importer.frontend package
- ucsschool.importer.mass_import package
- Submodules
- ucsschool.importer.mass_import.mass_import module
- ucsschool.importer.mass_import.sisopi_user_import module
- ucsschool.importer.mass_import.user_import module
UserImportUserImport.read_input()UserImport.create_and_modify_users()UserImport.find_importuser_in_ldap()UserImport.prepare_imported_user()UserImport.determine_add_modify_action()UserImport.get_existing_users_search_filter()UserImport.get_ids_of_existing_users()UserImport.detect_users_to_delete()UserImport.delete_users()UserImport.school_move()UserImport.do_school_move()UserImport.do_delete()UserImport.deactivate_user_now()UserImport.delete_user_now()UserImport.set_deactivation_grace()UserImport.set_deletion_grace()UserImport.log_stats()UserImport.progress_report()UserImport.get_result_data()
UserImportData
- ucsschool.importer.models package
- Submodules
- ucsschool.importer.models.import_user module
FunctionSignatureUsernameUniquenessTupleImportUserImportUser.source_uidImportUser.record_uidImportUser.no_overwrite_attributesImportUser.factoryImportUser.ucrImportUser.propImportUser.build_hook_line()ImportUser.call_hooks()ImportUser.call_format_hook()ImportUser.change_school()ImportUser.check_schools()ImportUser.create()ImportUser.create_without_hooks_roles()ImportUser.get_ldap_filter_for_user_role()ImportUser.get_by_import_id()ImportUser.deactivate()ImportUser.expire()ImportUser.from_dict()ImportUser.get_all_school_names()ImportUser.has_purge_timestamp()ImportUser.has_expired()ImportUser.has_expiry()ImportUser.readerImportUser.loImportUser.prepare_all()ImportUser.prepare_attributes()ImportUser.prepare_udm_properties()ImportUser.prepare_uids()ImportUser.make_birthday()ImportUser.make_expiration_date()ImportUser.parse_date()ImportUser.make_classes()ImportUser.make_disabled()ImportUser.make_firstname()ImportUser.make_lastname()ImportUser.make_email()ImportUser.make_password()ImportUser.make_record_uid()ImportUser.make_source_uid()ImportUser.make_school()ImportUser.make_schools()ImportUser.make_ucsschool_roles()ImportUser.make_udm_property()ImportUser.make_username()ImportUser.modify()ImportUser.modify_without_hooks()ImportUser.move()ImportUser.move_without_hooks()ImportUser.normalize()ImportUser.normalize_udm_properties()ImportUser.reactivate()ImportUser.remove()ImportUser.remove_without_hooks()ImportUser.validate()ImportUser.set_purge_timestamp()ImportUser.role_stingImportUser.school_classes_as_strImportUser.unique_email_handlerImportUser.username_handlerImportUser.username_schemeImportUser.solve_format_dependencies()ImportUser.format_from_scheme()ImportUser.get_class_for_udm_obj()ImportUser.get_school_class_objs()ImportUser.attribute_udm_names()ImportUser.to_dict()ImportUser.update()ImportUser.username_max_lengthImportUser.school_classes_invalid_character_replacement()ImportUser.logger
ImportStaffImportStudentImportTeacherImportTeachersAndStaff
- ucsschool.importer.reader package
- ucsschool.importer.utils package
- Submodules
- ucsschool.importer.utils.computer_import module
- ucsschool.importer.utils.computer_pyhook module
- ucsschool.importer.utils.config_pyhook module
- ucsschool.importer.utils.configuration_checks module
- ucsschool.importer.utils.constants module
- ucsschool.importer.utils.format_pyhook module
- ucsschool.importer.utils.import_pyhook module
- ucsschool.importer.utils.ldap_connection module
- ucsschool.importer.utils.logging module
- ucsschool.importer.utils.post_read_pyhook module
- ucsschool.importer.utils.pre_read_pyhook module
- ucsschool.importer.utils.result_pyhook module
- ucsschool.importer.utils.shell module
- ucsschool.importer.utils.test_user_creator module
- ucsschool.importer.utils.user_pyhook module
- ucsschool.importer.utils.username_handler module
NameCounterStorageBackendLdapStorageBackendMemoryStorageBackendUsernameHandlerUsernameHandler.attribute_nameUsernameHandler.attribute_storage_nameUsernameHandler.allowed_charsUsernameHandler.get_storage_backend()UsernameHandler.remove_bad_chars()UsernameHandler.format_name()UsernameHandler.format_username()UsernameHandler.counter_variable_to_functionUsernameHandler.always_counter()UsernameHandler.counter2()UsernameHandler.get_and_raise()
EmailHandler
- ucsschool.importer.utils.utils module
- ucsschool.importer.writer package
- Submodules
- ucsschool.importer.writer.base_writer module
- ucsschool.importer.writer.csv_writer module
- ucsschool.importer.writer.new_user_password_csv_exporter module
- ucsschool.importer.writer.result_exporter module
- ucsschool.importer.writer.test_user_csv_exporter module
- ucsschool.importer.writer.user_import_csv_result_exporter module
Submodules#
ucsschool.importer.configuration module#
Configuration classes.
- ucsschool.importer.configuration.setup_configuration(conffiles: List[str], **kwargs: str) ReadOnlyDict[source]#
- class ucsschool.importer.configuration.ConfigurationFile(filename: str)[source]#
Bases:
object- read() Dict[str, Any][source]#
- Raises:
InitialisationError – when the configuration file could not be read or when it contained invalid JSON
- class ucsschool.importer.configuration.ReadOnlyDict[source]#
Bases:
dict
- class ucsschool.importer.configuration.Configuration(filenames: Type[Configuration] = None)[source]#
Bases:
objectSingleton to the global configuration object.
ucsschool.importer.default_user_import_factory module#
Default implementation of the Abstract Factory.
- class ucsschool.importer.default_user_import_factory.DefaultUserImportFactory[source]#
Bases:
objectDefault implementation of the Abstract Factory.
Subclass this and store the fully dotted class name in config[“factory”] to make the importer code use your classes.
- static init_wrapper(klass)[source]#
This returns a function that tries to init a class with args and kwargs. If that does not work, it tries to do the same, but without any arguments.
- load_methods_from_config() None[source]#
Overwrite the methods in this class with constructors or methods from the configuration file.
- Configuration keys in the configuration “classes” dict are the names of the methods here
without the prepended
make_.
- It will be checked if the configured classes are really subclasses as described in the
documentation (/usr/share/doc/ucs-school-import/user_import_configuration_readme.txt).
Please update the documentation if classes/methods are added.
Take care to honor the signature of the methods, this cannot be checked.
- make_reader(**kwargs: Any) ucsschool.importer.reader.csv_reader.CsvReader[source]#
Creates an input data reader.
- Parameters:
kwarg (dict) – passed to the reader constructor
- Returns:
a reader object
- Return type:
- make_import_user(cur_user_roles: Iterable, *arg: Any, **kwargs: Any) ImportUserTV[source]#
Creates a ImportUser [of specific type], depending on its roles.
- Parameters:
- Returns:
object of
ImportUsersubclass orImportUserif cur_user_roles was empty- Return type:
- make_mass_importer(dry_run: bool | None = True) ucsschool.importer.mass_import.mass_import.MassImport[source]#
Creates a MassImport object.
- Parameters:
dry_run (bool) – set to False to actually commit changes to LDAP
- Returns:
a
MassImportobject- Return type:
- make_password_exporter(*arg: Any, **kwargs: Any) ucsschool.importer.writer.new_user_password_csv_exporter.NewUserPasswordCsvExporter[source]#
Creates a ResultExporter object that can dump passwords to disk.
- Parameters:
- Returns:
a
ResultExporterobject- Return type:
- make_result_exporter(*arg: Any, **kwargs: Any) ucsschool.importer.writer.user_import_csv_result_exporter.UserImportCsvResultExporter[source]#
Creates a ResultExporter object.
- Parameters:
- Returns:
a
ResultExporterobject- Return type:
- make_user_importer(dry_run: bool | None = True) ucsschool.importer.mass_import.user_import.UserImport[source]#
Creates a user importer.
- Parameters:
dry_run (bool) – set to False to actually commit changes to LDAP
- Returns:
a
UserImportobject- Return type:
- make_ucr() univention.config_registry.ConfigRegistry[source]#
Get a initialized UCR instance.
- Returns:
ConfigRegistry object
- Return type:
univention.config_registry.ConfigRegistry
- make_unique_email_handler(max_length: int | None = 254, dry_run: bool | None = True) ucsschool.importer.utils.username_handler.EmailHandler[source]#
Get a EmailHandler instance.
- Parameters:
- Returns:
an
EmailHandlerobject- Return type:
- make_username_handler(max_length: int, dry_run: bool | None = True) ucsschool.importer.utils.username_handler.UsernameHandler[source]#
Get a UsernameHandler instance.
- Parameters:
- Returns:
a
UsernameHandlerobject- Return type:
- make_user_writer(*arg: Any, **kwargs: Any) ucsschool.importer.writer.csv_writer.CsvWriter[source]#
Creates a user writer object.
ucsschool.importer.exceptions module#
All exceptions raised by code in ucsschool.importer.
- exception ucsschool.importer.exceptions.UcsSchoolImportError(*args, **kwargs)[source]#
Bases:
Exception- is_fatal = False#
- is_countable = True#
- exception ucsschool.importer.exceptions.UcsSchoolImportFatalError(*args, **kwargs)[source]#
Bases:
UcsSchoolImportError- is_fatal = True#
- exception ucsschool.importer.exceptions.UcsSchoolImportSkipImportRecord(*args, **kwargs)[source]#
Bases:
UcsSchoolImportError- is_countable = False#
- exception ucsschool.importer.exceptions.BadPassword(*args, **kwargs)[source]#
Bases:
UcsSchoolImportError
- exception ucsschool.importer.exceptions.BadValueStored(*args, **kwargs)[source]#
Bases:
UcsSchoolImportFatalError
- exception ucsschool.importer.exceptions.ConfigurationError(*args, **kwargs)[source]#
Bases:
UcsSchoolImportFatalError
- exception ucsschool.importer.exceptions.CreationError(*args, **kwargs)[source]#
Bases:
UcsSchoolImportError
- exception ucsschool.importer.exceptions.DeletionError(*args, **kwargs)[source]#
Bases:
UcsSchoolImportError
- exception ucsschool.importer.exceptions.FormatError(msg, scheme, data, *args, **kwargs)[source]#
Bases:
UcsSchoolImportError
- exception ucsschool.importer.exceptions.EmptyFormatResultError(msg, scheme, data, *args, **kwargs)[source]#
Bases:
FormatError
- exception ucsschool.importer.exceptions.EmptyMandatoryAttribute(msg, attr_name, *args, **kwargs)[source]#
Bases:
UcsSchoolImportError
- exception ucsschool.importer.exceptions.InitialisationError(msg, log_traceback=True, *args, **kwargs)[source]#
Bases:
UcsSchoolImportFatalError
- exception ucsschool.importer.exceptions.InvalidBirthday(*args, **kwargs)[source]#
Bases:
UcsSchoolImportError
- exception ucsschool.importer.exceptions.InvalidClassName(*args, **kwargs)[source]#
Bases:
UcsSchoolImportError
- exception ucsschool.importer.exceptions.InvalidEmail(*args, **kwargs)[source]#
Bases:
UcsSchoolImportError
- exception ucsschool.importer.exceptions.InvalidSchoolClasses(*args, **kwargs)[source]#
Bases:
UcsSchoolImportError
- exception ucsschool.importer.exceptions.InvalidSchools(*args, **kwargs)[source]#
Bases:
UcsSchoolImportError
- exception ucsschool.importer.exceptions.LDAPWriteAccessDenied(msg=None, *args, **kwargs)[source]#
Bases:
UcsSchoolImportFatalError
- exception ucsschool.importer.exceptions.MissingMandatoryAttribute(msg, mandatory_attributes, *args, **kwargs)[source]#
Bases:
UcsSchoolImportError
- exception ucsschool.importer.exceptions.MissingMailDomain(*args, **kwargs)[source]#
Bases:
UcsSchoolImportError
- exception ucsschool.importer.exceptions.MissingSchoolName(*args, **kwargs)[source]#
Bases:
UcsSchoolImportError
- exception ucsschool.importer.exceptions.MissingUid(*args, **kwargs)[source]#
Bases:
UcsSchoolImportError
- exception ucsschool.importer.exceptions.ModificationError(*args, **kwargs)[source]#
Bases:
UcsSchoolImportError
- exception ucsschool.importer.exceptions.MoveError(*args, **kwargs)[source]#
Bases:
UcsSchoolImportError
- exception ucsschool.importer.exceptions.NameKeyExists(*args, **kwargs)[source]#
Bases:
UcsSchoolImportFatalError
- exception ucsschool.importer.exceptions.NoRole(*args, **kwargs)[source]#
Bases:
UcsSchoolImportError
- exception ucsschool.importer.exceptions.NotSupportedError(*args, **kwargs)[source]#
Bases:
UcsSchoolImportError
- exception ucsschool.importer.exceptions.NoUsernameAtAll(*args, **kwargs)[source]#
Bases:
UcsSchoolImportFatalError
- exception ucsschool.importer.exceptions.NoValueStored(*args, **kwargs)[source]#
Bases:
UcsSchoolImportFatalError
- exception ucsschool.importer.exceptions.ReadOnlyConfiguration(*args, **kwargs)[source]#
Bases:
UcsSchoolImportFatalError
- exception ucsschool.importer.exceptions.TooManyErrors(msg, errors, *args, **kwargs)[source]#
Bases:
UcsSchoolImportFatalError
- exception ucsschool.importer.exceptions.UDMError(*args, **kwargs)[source]#
Bases:
UcsSchoolImportError
- exception ucsschool.importer.exceptions.UnknownAction(*args, **kwargs)[source]#
Bases:
UcsSchoolImportError
- exception ucsschool.importer.exceptions.UnknownDisabledSetting(*args, **kwargs)[source]#
Bases:
UcsSchoolImportError
- exception ucsschool.importer.exceptions.UnknownProperty(*args, **kwargs)[source]#
Bases:
UcsSchoolImportError
- exception ucsschool.importer.exceptions.UnknownRole(*args, **kwargs)[source]#
Bases:
UcsSchoolImportError
- exception ucsschool.importer.exceptions.UnknownSchoolName(*args, **kwargs)[source]#
Bases:
UcsSchoolImportError
- exception ucsschool.importer.exceptions.UniqueIdError(*args, **kwargs)[source]#
Bases:
UcsSchoolImportError
- exception ucsschool.importer.exceptions.UsernameToLong(*args, **kwargs)[source]#
Bases:
UcsSchoolImportError
- exception ucsschool.importer.exceptions.UserValidationError(msg, validation_error, *args, **kwargs)[source]#
Bases:
UcsSchoolImportErrorWraps ucsschool.lib.models.attributes.ValidationError
- exception ucsschool.importer.exceptions.WrongUserType(msg, *args, **kwargs)[source]#
Bases:
UcsSchoolImportErrorWraps ucsschool.lib.models.base.WrongObjectType
ucsschool.importer.factory module#
Singleton to the factory currently in use.
- ucsschool.importer.factory.setup_factory(factory_cls_name: str) DefaultUserImportFactory[source]#
Create import factory.