Merge branch 'master' of git.calculate.ru:calculate-client

master3.3
Mike Hiretsky 14 years ago
commit 4b45f9e741

@ -514,6 +514,16 @@ class client(share, commandServer, encrypt):
"""
flagError = False
execStr = ""
skipPaths = self.clVars.Get("cl_sync_skip_path")
if not skipPaths:
self.printERROR(_("Variable 'cl_sync_skip_path' is empty")%userHome)
return False
deletePaths = self.clVars.Get("cl_sync_del_path")
if not deletePaths:
deletePaths = []
excludePaths = " ".join(map(lambda x: '--exclude="/%s"'\
%x.replace('"',"").replace("'",""),
skipPaths + deletePaths))
if sync == "login":
# исключаемые пути при синхронизации
# /.local/share/akonadi/db_data
@ -528,42 +538,16 @@ class client(share, commandServer, encrypt):
# содержит данные о виртуальных машинах
if os.path.exists(userHome) and\
os.path.exists(homeTemplate):
execStr = '/usr/bin/rsync --delete-excluded --delete \
--exclude="/.googleearth" --exclude="/.kde4/share/config/phonondevicesrc" \
--exclude="*~" --exclude="/Home" --exclude="/Disks" --exclude="/FTP" \
--exclude="/.local/share/akonadi/db_data" --exclude="/.VirtualBox" \
--exclude="/.mozilla/firefox/calculate.default/urlclassifier3.sqlite" \
--exclude="/.local/share/mime/mime.cache" \
--exclude="/.kde4/share/apps/nepomuk/repository/main/data" \
--exclude="/.logout" \
--exclude="/.Xauthority" \
--exclude="/.thumbnails" \
--exclude="/.mozilla/firefox/*/Cache" \
--filter="P /.googleearth" --filter="P /Home" --filter="P /Disks" \
--filter="P /.local/share/akonadi/db_data" --filter="P /.VirtualBox" \
--filter="P /.mozilla/firefox/calculate.default/urlclassifier3.sqlite" \
--filter="P /.local/share/mime/mime.cache" \
--filter="P /.kde4/share/apps/nepomuk/repository/main/data" \
--filter="P /.logout" \
--filter="P /.Xauthority" \
--filter="P /.thumbnails" \
--filter="P /.mozilla/firefox/*/Cache" \
--filter="P /FTP" -a -x -v -v -v %s/ %s/' %(homeTemplate,userHome)
filterPath = " ".join(map(lambda x: '--filter="P /%s"'\
%x.replace('"',"").replace("'",""),
skipPaths))
execStr = '/usr/bin/rsync --delete-excluded --delete %s %s \
-a -x -v -v -v %s/ %s/' %(excludePaths, filterPath, homeTemplate, userHome)
elif sync == "logout":
if os.path.exists(userHome) and os.listdir(userHome) and\
os.path.exists(homeTemplate):
execStr = '/usr/bin/rsync --delete-excluded --delete \
--exclude="/.googleearth" --exclude="/Home" --exclude="/Disks" --exclude="/FTP"\
--exclude="*~" --exclude="/.kde4/cache-*" --exclude="/.kde4/tmp-*" \
--exclude="/.local/share/akonadi/db_data" --exclude="/.VirtualBox" \
--exclude="/.mozilla/firefox/calculate.default/urlclassifier3.sqlite" \
--exclude="/.local/share/mime/mime.cache" \
--exclude="/.Xauthority" \
--exclude="/.kde4/share/apps/nepomuk/repository/main/data" \
--exclude="/.kde4/socket-*" --exclude="/.kde4/share/config/phonondevicesrc" \
--exclude="/.thumbnails" \
--exclude="/.mozilla/firefox/*/Cache" \
-a -x -v -v -v %s/ %s/'%(userHome,homeTemplate)
execStr = '/usr/bin/rsync --delete-excluded --delete %s \
-a -x -v -v -v %s/ %s/'%(excludePaths, userHome, homeTemplate)
else:
self.printERROR(_("Method syncUser: option sync=%s incorrect")\
%str(sync))
@ -1208,8 +1192,11 @@ class client(share, commandServer, encrypt):
files = []
movedLink = os.path.join('Moved')
movedPath = os.path.join('Home',"Moved")
skipPaths = self.clVars.Get("cl_moved_skip_path")
if not skipPaths:
skipPaths = ['Disks','Home','Moved','FTP','Desktop']
filesAndDir = filter(lambda x: not ('.' in x[0] or x in\
['Disks','Home','Moved','FTP','Desktop'] or os.path.islink(x)),
skipPaths or os.path.islink(x)),
os.listdir('.'))
filesDir = []
for fd in filesAndDir:

@ -51,6 +51,9 @@ class Data:
# Почтовый адрес пользователя
ur_mail = {'mode':"r"}
# Домашняя директория пользователя
ur_home_path = {'mode':"r"}
# Режим работы клиента
# (local или имя хоста клиента)
os_remote_auth = {'mode':'w'}
@ -61,4 +64,21 @@ class Data:
#Пароль пользователя client
cl_remote_pw = {'mode':'w'}
# Директории которые не переносятся в ~/Moved
cl_moved_skip_path = {'value':['Disks','Home','Moved','FTP','Desktop']}
# Директории или файлы которые не переносятся
# при синхронизации профиля пользователя
cl_sync_skip_path = {'value':[".googleearth", "Home", "Disks", "FTP",
".local/share/akonadi/db_data", ".VirtualBox",
".mozilla/firefox/calculate.default/urlclassifier3.sqlite",
".local/share/mime/mime.cache",
".kde4/share/apps/nepomuk/repository/main/data", ".logout",
".Xauthority", ".thumbnails", ".mozilla/firefox/*/Cache"]}
# Директории или файлы которые удаляются
# при синхронизации профиля пользователя
cl_sync_del_path = {'value':[".kde4/share/config/phonondevicesrc",
".kde4/cache-*", ".kde4/tmp-*"]}

Loading…
Cancel
Save