|
|
|
@ -2,13 +2,13 @@
|
|
|
|
|
#-*- 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.
|
|
|
|
@ -25,29 +25,34 @@ tr.setGlobalDomain('cl_server')
|
|
|
|
|
tr.setLanguage(sys.modules[__name__])
|
|
|
|
|
import cl_ldap
|
|
|
|
|
|
|
|
|
|
class tstopt(cl_base.opt):
|
|
|
|
|
class tsOpt(cl_base.opt):
|
|
|
|
|
def __init__(self, obj):
|
|
|
|
|
self.obj =obj
|
|
|
|
|
self.shortOpt = self.obj.getAllOpt('short')
|
|
|
|
|
self.longOpt = self.obj.getAllOpt('long')
|
|
|
|
|
self.opt = []
|
|
|
|
|
self.opt = {}
|
|
|
|
|
self.sysArgv = sys.argv[1:]
|
|
|
|
|
self.__iter = 0
|
|
|
|
|
self.params = {}
|
|
|
|
|
cl_base.opt.__init__(self, self.shortOpt, self.longOpt)
|
|
|
|
|
if "h" in self.opt or not self.opt:
|
|
|
|
|
if "h" in self.opt or (not (self.params.has_key('user') and\
|
|
|
|
|
self.params.has_key('service')) and\
|
|
|
|
|
not self.opt):
|
|
|
|
|
print self.obj.getHelp()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
else:
|
|
|
|
|
if self.params.has_key('service'):
|
|
|
|
|
if not (self.params['service'] in self.obj.allServ):
|
|
|
|
|
self.handlerErrOpt()
|
|
|
|
|
else:
|
|
|
|
|
self.handlerErrOpt()
|
|
|
|
|
|
|
|
|
|
def handlerOpt(self,option,value):
|
|
|
|
|
# Обработчик (опция значение)
|
|
|
|
|
#print option, value
|
|
|
|
|
shortOpt = self.obj.getShortOpt(option)
|
|
|
|
|
if not shortOpt in self.opt:
|
|
|
|
|
self.opt.append(shortOpt)
|
|
|
|
|
if shortOpt=='p':
|
|
|
|
|
pass
|
|
|
|
|
if not self.opt.has_key(shortOpt):
|
|
|
|
|
self.opt[shortOpt] = value
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def handlerErrOpt(self):
|
|
|
|
|
# Обработчик ошибок
|
|
|
|
@ -60,17 +65,19 @@ _("for more information.")
|
|
|
|
|
def handlerParam(self,param):
|
|
|
|
|
# Обработчик хвостов (значение)
|
|
|
|
|
self.__iter += 1
|
|
|
|
|
# Достаем имя пользователя
|
|
|
|
|
# Достаем название пользователя
|
|
|
|
|
if self.__iter == 1:
|
|
|
|
|
self.params['user'] = param
|
|
|
|
|
elif self.__iter == 2:
|
|
|
|
|
# Достаем название сервиса
|
|
|
|
|
if self.__iter == 2:
|
|
|
|
|
self.params['service'] = param
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
|
|
z = cl_ldap.cl_ldap("cl-useradd")
|
|
|
|
|
tst = tstopt(z)
|
|
|
|
|
if tst.params.has_key('user'):
|
|
|
|
|
print "USER =", tst.params['user']
|
|
|
|
|
if tst.params.has_key('service'):
|
|
|
|
|
print "SERVICE =", tst.params['service']
|
|
|
|
|
ldapObj = cl_ldap.cl_ldap("cl-useradd")
|
|
|
|
|
optObj = tsOpt(ldapObj)
|
|
|
|
|
if optObj.params.has_key('service') and\
|
|
|
|
|
optObj.params.has_key('user'):
|
|
|
|
|
if optObj.params['service'] == "ldap":
|
|
|
|
|
# Добавляем пользователя LDAP
|
|
|
|
|
ldapObj.addUserLdapServer(optObj.opt)
|