From def3c0edfac5f21e6318c4feaea04f73730e495d Mon Sep 17 00:00:00 2001 From: Mark de Bruijn Date: Thu, 10 Nov 2016 11:29:45 +0100 Subject: [PATCH] Add webapp_switch_locale.py script --- readme.md | 21 ++++++++++++++++++++- webapp_switch_locale.py | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 webapp_switch_locale.py diff --git a/readme.md b/readme.md index ceccc9b..ebd745e 100644 --- a/readme.md +++ b/readme.md @@ -57,6 +57,25 @@ Dumps all the signatures in a users Webapp to seperate files, meant as companion The files will be written in the current directory. #### Usage: -```python +``` python dump_webapp_signatures.py --user user ``` + +webapp_switch_locale.py +========================= +List or change the locale currently set in the user's WebApp settings. + +#### Usage: +###### List locale +``` +python switchlocale.py --user user1 +Original locale: nl_NL.UTF-8 +``` +###### Change locale +``` +python switchlocale.py --user user1 --locale de_DE.UTF-8 +Original locale: nl_NL.UTF-8 +Setting locale to: de_DE.UTF-8 +``` + + diff --git a/webapp_switch_locale.py b/webapp_switch_locale.py new file mode 100644 index 0000000..31870f7 --- /dev/null +++ b/webapp_switch_locale.py @@ -0,0 +1,35 @@ +#!/usr/bin/env python +# encoding: utf-8 +import json +import kopano +from MAPI.Util import * +import sys + + +def opt_args(): + parser = kopano.parser('skpcfm') + parser.add_option("--user", dest="user", action="store", help="Run script for user") + parser.add_option("--locale", dest="locale", action="store", help="Set new locale") + return parser.parse_args() + + +def main(): + options, args = opt_args() + + if not options.user: + print 'Please use:\n %s --user [--locale]' % (sys.argv[0]) + sys.exit() + + user = kopano.Server(options).user(options.user) + settings = json.loads(user.store.prop(PR_EC_WEBACCESS_SETTINGS_JSON).value) + current = settings['settings']['zarafa']['v1']['main']['language'] + print 'Original locale: %s' % current + + if options.locale: + print 'Setting locale to: %s' % options.locale + settings['settings']['zarafa']['v1']['main']['language'] = options.locale + user.store.prop(PR_EC_WEBACCESS_SETTINGS_JSON).set_value(json.dumps(settings)) + + +if __name__ == "__main__": + main()