diff --git a/moodle.py b/moodle.py index fb7443d..b6a3029 100644 --- a/moodle.py +++ b/moodle.py @@ -105,6 +105,9 @@ def users_create(self, userlist): """ Create moodle-user from a list of ldap-users """ return self.call('core_user_create_users', users=userlist) + def users_update(self, users): + return self.call('core_user_update_users', users=users) + def enrol_users(self, users): if len(users) > 0: self.call('enrol_manual_enrol_users', enrolments=users) diff --git a/utils/update_user_emails.py b/utils/update_user_emails.py new file mode 100644 index 0000000..e072023 --- /dev/null +++ b/utils/update_user_emails.py @@ -0,0 +1,28 @@ +import os +import sys +import inspect + +currentdir = os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))) +parentdir = os.path.dirname(currentdir) +sys.path.insert(0, parentdir) + +import moodle +import json + +KEY = 'REPLACE_ME' +URL = 'REPLACE_ME' +ENDPOINT = '/webservice/rest/server.php' + +m = moodle.Moodle(URL + ENDPOINT, KEY) + +with open('user_dump.json', 'r') as userfile: + users = json.load(userfile)['users'] + newUsers = m.users_get({'key': 'auth', 'value': 'ldap'})['users'] + for user in users: + if "linux.lokal" not in user["email"]: + for nUser in newUsers: + if nUser['username'] == user['username']: + print('Update user: ', user['username'], ' <', user['email'], '>') + m.users_update([{'id': nUser['id'], 'email': user['email']}]) + +print('===DONE===')