Initial commit of dump_webapp_signatures.py

This commit is contained in:
Mark de Bruijn 2016-10-17 16:20:04 +02:00
parent 9b51e42fed
commit 67bd0abfa4
2 changed files with 45 additions and 0 deletions

36
dump_webapp_signatures.py Normal file
View File

@ -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 <username>' % (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()

View File

@ -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
```