Add the removing .dmrc

master
Mike Hiretsky 14 years ago
parent e75e969fdd
commit 13413a316b

@ -163,7 +163,7 @@ org.kde.kdialog.ProgressDialog'
close_fds=True,
env=env, shell=True)
pipe.stdin.close()
# wait for terminate kdialog, which say dbus dialog id
# wait for terminate kdialog, which say dbus dialog id
if pipe.poll() is None:
# ожидание в 5 сек
for t in range(500):
@ -171,12 +171,12 @@ org.kde.kdialog.ProgressDialog'
if pipe.poll() != None:
break
# waiting is ok
# waiting is ok
if pipe.poll() == 0:
self.kdialog = pipe.stdout.readline().strip()
while not "org.kde.kdialog" in self.kdialog:
s = pipe.stdout.readline()
# if bad result of kdialog then shutdown dialog
# if bad result of kdialog then shutdown dialog
if s == "":
pipe.stdout.close()
pipe.stderr.close()
@ -186,7 +186,7 @@ org.kde.kdialog.ProgressDialog'
self.setTitle(self.title)
pipe.stdout.close()
pipe.stderr.close()
# waiting is failed
# waiting is failed
else:
pipe.stdout.close()
pipe.stderr.close()
@ -1629,6 +1629,15 @@ or ld_bind_dn or ld_bind_pw")
return False
return True
def removeNoiseFiles(self, userHome):
"""Удаление файлов, создающих помехи работе dm"""
noiseFiles = ['.dmrc']
for nsFile in noiseFiles:
rmFile = os.path.join(userHome, nsFile)
if os.path.exists(rmFile):
os.remove(rmFile)
return True
def removePrivateFiles(self, userHome):
"""Удаление приватных файлов"""
privateFiles = ['.kde4/share/apps/kwallet/kdewallet.kwl',
@ -1803,6 +1812,8 @@ or ld_bind_dn or ld_bind_pw")
if exitStr != "process":
needSync = True
except:
# Удаляем файлы, мешающие работе dm
self.removeNoiseFiles(homeDir)
# Удаляем приватные файлы
self.removePrivateFiles(homeDir)
# Очищаем ключ в ядре
@ -1812,6 +1823,8 @@ or ld_bind_dn or ld_bind_pw")
return False
if needSync and not self.syncUser(userName,homeDir,"logout",uid,gid):
# Удаляем файлы, мешающие работе dm
self.removeNoiseFiles(homeDir)
# Удаляем приватные файлы
self.removePrivateFiles(homeDir)
# Очищаем ключ в ядре
@ -1819,6 +1832,8 @@ or ld_bind_dn or ld_bind_pw")
# Отмонтируем пользовательские ресурсы в случае ошибки
self.errorAndUnmountUserRes = True
return False
# Удаляем файлы, мешающие работе dm
self.removeNoiseFiles(homeDir)
# Удаляем приватные файлы
self.removePrivateFiles(homeDir)
# Очищаем ключ в ядре

Loading…
Cancel
Save