From 67bd0abfa4021f543ed1e14728bdf590aec17e81 Mon Sep 17 00:00:00 2001 From: Mark de Bruijn Date: Mon, 17 Oct 2016 16:20:04 +0200 Subject: [PATCH] Initial commit of dump_webapp_signatures.py --- dump_webapp_signatures.py | 36 ++++++++++++++++++++++++++++++++++++ readme.md | 9 +++++++++ 2 files changed, 45 insertions(+) create mode 100644 dump_webapp_signatures.py diff --git a/dump_webapp_signatures.py b/dump_webapp_signatures.py new file mode 100644 index 0000000..82da916 --- /dev/null +++ b/dump_webapp_signatures.py @@ -0,0 +1,36 @@ +#!/usr/bin/env python +import kopano +import sys +from MAPI.Util import * + +try: + import json +except ImportError: + import simplejson as json + + +def opt_args(): + parser = kopano.parser('skpcf') + parser.add_option("--user", dest="user", action="store", help="Dump signatures for user") + return parser.parse_args() + + +def main(): + options, args = opt_args() + if not options.user: + print 'Please use:\n %s --user ' % (sys.argv[0]) + else: + user = kopano.Server(options=options).user(options.user) + settings = json.loads(user.store.prop(PR_EC_WEBACCESS_SETTINGS_JSON).value) + if len(settings['settings']['zarafa']['v1']['contexts']['mail']): + if 'signatures' in settings['settings']['zarafa']['v1']['contexts']['mail']: + for item in settings['settings']['zarafa']['v1']['contexts']['mail']['signatures']['all']: + name = settings['settings']['zarafa']['v1']['contexts']['mail']['signatures']['all'][item]['name'] + filename = '%s-%s-%s.html' % (user.name, name.replace(' ', '-'), item) + print 'Dumping: \'%s\' to \'%s\' ' % (name, filename) + with open(filename, 'w') as outfile: + outfile.write(settings['settings']['zarafa']['v1']['contexts']['mail']['signatures']['all'][item]['content'].encode('utf-8')) + + +if __name__ == '__main__': + main() \ No newline at end of file diff --git a/readme.md b/readme.md index c3e439c..8a6a7ac 100644 --- a/readme.md +++ b/readme.md @@ -50,3 +50,12 @@ python webapp_settings.py --user user --backup ```python python webapp_settings.py --user user --restore ``` + +dump_webapp_signatures.py +========================= +Dumps all the signatures in a users Webapp to seperate files, meant as companion to the script setdefaultsignature.py as delivered with Webapp (see /usr/share/doc/kopano-webapp/scripts/signatures/ on your Webapp server.) + +#### Usage: +```python +python dump_webapp_signatures.py --user user +```