Page tree
Skip to end of metadata
Go to start of metadata

These scripts and tools are provided to help you manage your Kopano system. They are provided as a free service for Kopano users, without warranty of any kind.

Please be aware that usage is at your own risk!



This script is able to backup and restore your WebApp settings. 
Backup file will be saved as a json file in the following format 'username.json'
It will overwrite a previous version if exist in the same directory 

 

webapp_settings.py  Expand source
 master  KSC/webapp-tools
#!/usr/bin/env python
#encoding: utf-8

from MAPI import *
from MAPI.Util import *
import sys
try:
    import kopano
except ImportError:
    import zarafa as kopano
try:
    import json
except ImportError:
    import simplejson as json

def opt_args():
    parser = kopano.parser('skpcfm')
    parser.add_option("--user", dest="user", action="store", help="Run script for user")
    parser.add_option("--backup", dest="backup", action="store_true", help="Backup webapp setting ")
    parser.add_option("--restore", dest="restore", action="store_true", help="Restore webapp settings")

    return parser.parse_args()


def main():
    options, args = opt_args()

    if not options.user or (not options.backup and not options.restore):
        print 'Please use:\n %s --user <username> (--backup or --restore)  ' % (sys.argv[0])
        sys.exit()

    user = kopano.Server(options).user(options.user)
    if options.backup:
        webapp = json.loads(user.store.prop(PR_EC_WEBACCESS_SETTINGS_JSON).value)
        f = open('%s.json' % user.name,'w')

        f.write(json.dumps(webapp, sort_keys=True,
                     indent=4, separators=(',', ': ')))
        f.close()
    if options.restore:
        with open('%s.json' % user.name) as data_file:
            data = json.load(data_file)

        print data
        user.store.prop(PR_EC_WEBACCESS_SETTINGS_JSON).set_value(json.dumps(data))
        
        
if __name__ == "__main__":
    main()

 

Usage:

Backup
python webapp_settings.py --user user  --backup
Restore
python webapp_settings.py --user user  --restore

  • No labels