dump_webapp_signatures.py: Add exception when trying to retrieve webapp settings.

This commit is contained in:
Mark de Bruijn 2016-10-18 09:57:42 +02:00
parent 67bd0abfa4
commit 2c4b08cf73

View File

@ -1,6 +1,5 @@
#!/usr/bin/env python #!/usr/bin/env python
import kopano import kopano
import sys
from MAPI.Util import * from MAPI.Util import *
try: try:
@ -21,16 +20,19 @@ def main():
print 'Please use:\n %s --user <username>' % (sys.argv[0]) print 'Please use:\n %s --user <username>' % (sys.argv[0])
else: else:
user = kopano.Server(options=options).user(options.user) user = kopano.Server(options=options).user(options.user)
try:
settings = json.loads(user.store.prop(PR_EC_WEBACCESS_SETTINGS_JSON).value) settings = json.loads(user.store.prop(PR_EC_WEBACCESS_SETTINGS_JSON).value)
except Exception as e:
print 'Could not load WebApp settings for user %s (Error: %s)' % (user.name, repr(e))
else:
if len(settings['settings']['zarafa']['v1']['contexts']['mail']): if len(settings['settings']['zarafa']['v1']['contexts']['mail']):
if 'signatures' in 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']: for item in settings['settings']['zarafa']['v1']['contexts']['mail']['signatures']['all']:
name = settings['settings']['zarafa']['v1']['contexts']['mail']['signatures']['all'][item]['name'] name = settings['settings']['zarafa']['v1']['contexts']['mail']['signatures']['all'][item]['name']
filename = '%s-%s-%s.html' % (user.name, name.replace(' ', '-'), item) filename = '%s-%s-%s.html' % (user.name, name.replace(' ', '-'), item)
print 'Dumping: \'%s\' to \'%s\' ' % (name, filename)
with open(filename, 'w') as outfile: with open(filename, 'w') as outfile:
print 'Dumping: \'%s\' to \'%s\' ' % (name, filename)
outfile.write(settings['settings']['zarafa']['v1']['contexts']['mail']['signatures']['all'][item]['content'].encode('utf-8')) outfile.write(settings['settings']['zarafa']['v1']['contexts']['mail']['signatures']['all'][item]['content'].encode('utf-8'))
if __name__ == '__main__': if __name__ == '__main__':
main() main()