develop
asamoukin 16 years ago
parent 94f07ab701
commit dc738df6a5

@ -19,8 +19,8 @@ import sys
import re
#import popen2
import ldap
import cStringIO
from ldif import LDIFParser
import cStringIO, StringIO
from ldif import LDIFParser, LDIFWriter
import cl_base
import cl_profile
import cl_utils2
@ -36,6 +36,8 @@ import time
# Для ввода символа
import tty
import termios
# Для ldif
import base64
Version = "calculate-server 0.0.1"
@ -477,29 +479,12 @@ class shareLdap(imp_cl_err, imp_cl_xml, imp_cl_help, imp_cl_smcon):
except ldap.LDAPError, e:
self.printERROR("fullElementDN: "+e[0]['desc'])
return False
outText = ""
lenDNlist = len(dnList)
dnIter = 0
FDOUT = StringIO.StringIO("")
writer = LDIFWriter(FDOUT)
for dn, f in dnList:
dnIter += 1
outText += "dn: " + dn + "\n"
listObjectClass = []
listOtherAttr = []
attrs = f.keys()
attrs.sort()
for attr in attrs:
for val in f[attr]:
attrText = attr + ": " + val
if attr == "objectClass":
listObjectClass.append(attrText)
else:
listOtherAttr.append(attrText)
listAttr = listObjectClass + listOtherAttr
for i in listAttr:
outText += i + "\n"
if dnIter < lenDNlist:
outText += "\n"
return outText
writer.unparse(dn, f)
FDOUT.seek(0)
return FDOUT.read()
@adminConnectLdap
def deleteDN(self, relDelDN):
@ -3260,12 +3245,18 @@ class servLdap(shareLdap):
def startAllSetupServices(self):
"""Запускаем все работающие установленные сервисы"""
"""Запускаем все работающие установленные сервисы
а также прописываем в автозапуск
"""
# находим установленные сервисы
servicePaths, servInstalled = self.getServiceSetupPathProfiles()
if 'ldap' in servInstalled:
if not self.startDaemons('ldap',['slapd']):
return False
# Устанавливаем автозапуск демона
if not self.setDaemonAutostart("slapd"):
return False
flagError = False
for service in servInstalled:
if service == "unix" or service == "ldap":
@ -3274,10 +3265,18 @@ class servLdap(shareLdap):
if not self.startDaemons('mail',['postfix', 'dovecot']):
flagError = True
break
# Устанавливаем автозапуск демонов
if not (self.setDaemonAutostart("postfix") and\
self.setDaemonAutostart("dovecot")):
flagError = True
break
else:
if not self.startDaemons(service,[service]):
flagError = True
break
# Устанавливаем автозапуск демона
if not self.setDaemonAutostart(service):
return False
if flagError:
return False
else:
@ -3373,7 +3372,7 @@ class servLdap(shareLdap):
os.remove(self.tmpListFile)
if os.path.exists(self.archLdifFile):
os.remove(self.archLdifFile)
# Стартуем все сервисы
# Стартуем все сервисы и прописываем в автозагрузку
if not self.startAllSetupServices():
return False
self.printOK(_("Restored all installed services") + " ...")

Loading…
Cancel
Save