Problem: ucs@school Import Fails with “unexpected keyword argument ‘dry_run’”
When importing users the dry run does not report any errors. But when running it fails. The logfile notes the following entries:
2018-11-14 13:36:16 INFO Found hook classes: RemoveCharFromUserAttribHook, UniqueEmailAddressHook
2018-11-14 13:36:16 ERROR Outer Exception catcher: TypeError("__init__() got an unexpected keyword argument 'dry_run'",)
Traceback (most recent call last):
File "/usr/lib/pymodules/python2.7/ucsschool/importer/frontend/cmdline.py", line 121, in main
self.do_import()
[...]
File "/usr/lib/pymodules/python2.7/ucsschool/lib/pyhooks/pyhooks_loader.py", line 126, in get_hook_objects
pyhook_objs = [pyhook_cls(*args, **kwargs) for pyhook_cls in self.get_hook_classes()]
TypeError: __init__() got an unexpected keyword argument 'dry_run'
Solution
It is a know issue, an update is available and usually gets installed by Univention Professional Service. At your own risk you can implement a fix at your site as follows.
Step 1
Find the file unique_email_Addresses.py
:
find /usr/share/ucs-school-import -name unique_email_addresses.py
Step 2
Edit the file and replace lines as follows:
Old:
def __init__(self, lo):
super(UniqueEmailAddressHook, self).__init__(lo)
Replace by:
def __init__(self, lo=None, dry_run=False, *args, **kwargs):
super(UniqueEmailAddressHook, self).__init__(lo, dry_run, *args, **kwargs)
Afterwards your import should run.