Univention Bugzilla – Bug 49580
verify structure and values of configuration file
Last modified: 2020-02-19 16:57:24 CET
Trying to import. ======================================= root@master:~# head -n2 schueler.csv.0 Schulen,Username,Vorname,Nachname,Klassen,Mailadresse,phone,id,src SchuleLena,e.einverle,Einverstndnis,Einverständnis,SchuleLena-1c,e.einverle@schulen.ucs,"",0303,0 ======================================= ======================================= root@master:~# python -m json.tool< /var/lib/ucs-school-import/configs/user_import.json { "csv": { "allowed_missing_columns": [], "header_lines": 1, "incell-delimiter": { "default": "," }, "mapping": { "Klassen": "school_classes", "Nachname": "lastname", "Schulen": "schools", "Vorname": "firstname", "id": "record_uid", "phone": "phone", "src": "source_uid" } }, "maildomain": "schulen.ucs", "scheme": { "email": { "default": "<:umlauts><firstname>[0].<lastname><:lower>[COUNTER2]@<maildomain>" }, "username": { "default": "<:umlauts><firstname>[0].<lastname><:lower>[COUNTER2]" } } } ======================================= ======================================= root@master:~# /usr/share/ucs-school-import/scripts/ucs-school-user-import -i schueler.csv.0 -u student -n --source_uid 0 [...] UsernameHandler(max_length=15, dry_run=True) storage_backend='MemoryStorageBackend' expected string or buffer Traceback (most recent call last): File "/usr/lib/pymodules/python2.7/ucsschool/importer/mass_import/mass_import.py", line 120, in import_users user_import.create_and_modify_users(imported_users) # 90% - 100% File "/usr/lib/pymodules/python2.7/ucsschool/importer/mass_import/user_import.py", line 149, in create_and_modify_users user = self.determine_add_modify_action(imported_user) File "/usr/lib/pymodules/python2.7/ucsschool/importer/mass_import/user_import.py", line 270, in determine_add_modify_action return self.prepare_imported_user(imported_user, None) File "/usr/lib/pymodules/python2.7/ucsschool/importer/mass_import/user_import.py", line 249, in prepare_imported_user imported_user.prepare_all(new_user=not old_user) File "/usr/lib/pymodules/python2.7/ucsschool/importer/models/import_user.py", line 513, in prepare_all self.prepare_attributes(new_user) File "/usr/lib/pymodules/python2.7/ucsschool/importer/models/import_user.py", line 536, in prepare_attributes self.make_email() File "/usr/lib/pymodules/python2.7/ucsschool/importer/models/import_user.py", line 699, in make_email self.email = self.format_from_scheme("email", self.config["scheme"]["email"], maildomain=maildomain).lower() File "/usr/lib/pymodules/python2.7/ucsschool/importer/models/import_user.py", line 1259, in format_from_scheme self.solve_format_dependencies(prop_name, scheme, **kwargs) File "/usr/lib/pymodules/python2.7/ucsschool/importer/models/import_user.py", line 1198, in solve_format_dependencies props_used_in_scheme = [x[0] for x in self._prop_regex.findall(no_brackets) if x[0]] TypeError: expected string or buffer ======================================= Having modified .json to: ======================================= root@master:~# python -m json.tool< /var/lib/ucs-school-import/configs/user_import.json { "csv": { "allowed_missing_columns": [], "header_lines": 1, "incell-delimiter": { "default": "," }, "mapping": { "Klassen": "school_classes", "Nachname": "lastname", "Schulen": "schools", "Vorname": "firstname", "id": "record_uid", "phone": "phone", "src": "source_uid" } }, "maildomain": "schulen.ucs", "scheme": { "email": "<:umlauts><firstname>[0].<lastname><:lower>[COUNTER2]@<maildomain>", "username": { "default": "<:umlauts><firstname>[0].<lastname><:lower>[COUNTER2]" } } } ======================================= Now it appears to be working
There is a user error: --------------------------------------------------- "scheme": { "email": { "default": … }, }, --------------------------------------------------- should be --------------------------------------------------- "scheme": { "email": …, }, --------------------------------------------------- A schema validation could find such configuration errors and display a helpful error message.
Not an error in the product or the documentation.
*** This bug has been marked as a duplicate of bug 49102 ***