#!/usr/bin/python
#-*- coding: utf-8 -*-

#Copyright 2008 Calculate Pack, http://www.calculate-linux.ru
#
#  Licensed under the Apache License, Version 2.0 (the "License");
#  you may not use this file except in compliance with the License.
#  You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
#  Unless required by applicable law or agreed to in writing, software
#  distributed under the License is distributed on an "AS IS" BASIS,
#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#  See the License for the specific language governing permissions and
#  limitations under the License.

import sys
import os
sys.path.insert(0,os.path.abspath('/usr/lib/calculate/calculate-lib/pym'))
sys.path.insert(0,os.path.abspath('/usr/lib/calculate/calculate-server/pym'))
import cl_base
tr = cl_base.lang()
tr.setGlobalDomain('cl_server')
tr.setLanguage(sys.modules[__name__])
import cl_ldap

if __name__ == "__main__":
    ldapObj = cl_ldap.cl_ldap("cl-setup")
    optObj = cl_ldap.tsOpt(ldapObj,[])
    flagError = False
    if not optObj.flagHelp and optObj.params.has_key('service'):
        # Настройка сервера LDAP
        flagError = True
        if optObj.params['service'] == "ldap":
            obj = cl_ldap.servLdap()
            if obj.setupLdapServer(optObj.opt):
                flagError = False
        elif optObj.params['service'] == "unix":
            obj = cl_ldap.servUnix()
            if obj.setupUnixServer(optObj.opt):
                flagError = False
        # Настройка сервера Samba
        elif optObj.params['service'] == "samba":
            obj = cl_ldap.servSamba()
            if obj.setupSambaServer(optObj.opt):
                flagError = False
        # Настройка сервера Mail
        elif optObj.params['service'] == "mail":
            obj = cl_ldap.servMail()
            if obj.setupMailServer(optObj.opt):
                flagError = False
        # Настройка сервера jabber
        elif optObj.params['service'] == "jabber":
            obj = cl_ldap.servJabber()
            if obj.setupJabberServer(optObj.opt):
                flagError = False
        # Настройка сервера ftp
        elif optObj.params['service'] == "ftp":
            obj = cl_ldap.servFtp()
            if obj.setupFtpServer(optObj.opt):
                flagError = False
        # Настройка сервера proxy
        elif optObj.params['service'] == "proxy":
            obj = cl_ldap.servProxy()
            if obj.setupProxyServer(optObj.opt):
                flagError = False
    if flagError:
        sys.exit(1)
    else:
        sys.exit(0)