|
|
@ -514,6 +514,16 @@ class client(share, commandServer, encrypt):
|
|
|
|
"""
|
|
|
|
"""
|
|
|
|
flagError = False
|
|
|
|
flagError = False
|
|
|
|
execStr = ""
|
|
|
|
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":
|
|
|
|
if sync == "login":
|
|
|
|
# исключаемые пути при синхронизации
|
|
|
|
# исключаемые пути при синхронизации
|
|
|
|
# /.local/share/akonadi/db_data
|
|
|
|
# /.local/share/akonadi/db_data
|
|
|
@ -528,42 +538,16 @@ class client(share, commandServer, encrypt):
|
|
|
|
# содержит данные о виртуальных машинах
|
|
|
|
# содержит данные о виртуальных машинах
|
|
|
|
if os.path.exists(userHome) and\
|
|
|
|
if os.path.exists(userHome) and\
|
|
|
|
os.path.exists(homeTemplate):
|
|
|
|
os.path.exists(homeTemplate):
|
|
|
|
execStr = '/usr/bin/rsync --delete-excluded --delete \
|
|
|
|
filterPath = " ".join(map(lambda x: '--filter="P /%s"'\
|
|
|
|
--exclude="/.googleearth" --exclude="/.kde4/share/config/phonondevicesrc" \
|
|
|
|
%x.replace('"',"").replace("'",""),
|
|
|
|
--exclude="*~" --exclude="/Home" --exclude="/Disks" --exclude="/FTP" \
|
|
|
|
skipPaths))
|
|
|
|
--exclude="/.local/share/akonadi/db_data" --exclude="/.VirtualBox" \
|
|
|
|
execStr = '/usr/bin/rsync --delete-excluded --delete %s %s \
|
|
|
|
--exclude="/.mozilla/firefox/calculate.default/urlclassifier3.sqlite" \
|
|
|
|
-a -x -v -v -v %s/ %s/' %(excludePaths, filterPath, homeTemplate, userHome)
|
|
|
|
--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)
|
|
|
|
|
|
|
|
elif sync == "logout":
|
|
|
|
elif sync == "logout":
|
|
|
|
if os.path.exists(userHome) and os.listdir(userHome) and\
|
|
|
|
if os.path.exists(userHome) and os.listdir(userHome) and\
|
|
|
|
os.path.exists(homeTemplate):
|
|
|
|
os.path.exists(homeTemplate):
|
|
|
|
execStr = '/usr/bin/rsync --delete-excluded --delete \
|
|
|
|
execStr = '/usr/bin/rsync --delete-excluded --delete %s \
|
|
|
|
--exclude="/.googleearth" --exclude="/Home" --exclude="/Disks" --exclude="/FTP"\
|
|
|
|
-a -x -v -v -v %s/ %s/'%(excludePaths, userHome, homeTemplate)
|
|
|
|
--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)
|
|
|
|
|
|
|
|
else:
|
|
|
|
else:
|
|
|
|
self.printERROR(_("Method syncUser: option sync=%s incorrect")\
|
|
|
|
self.printERROR(_("Method syncUser: option sync=%s incorrect")\
|
|
|
|
%str(sync))
|
|
|
|
%str(sync))
|
|
|
@ -1208,8 +1192,11 @@ class client(share, commandServer, encrypt):
|
|
|
|
files = []
|
|
|
|
files = []
|
|
|
|
movedLink = os.path.join('Moved')
|
|
|
|
movedLink = os.path.join('Moved')
|
|
|
|
movedPath = os.path.join('Home',"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\
|
|
|
|
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('.'))
|
|
|
|
os.listdir('.'))
|
|
|
|
filesDir = []
|
|
|
|
filesDir = []
|
|
|
|
for fd in filesAndDir:
|
|
|
|
for fd in filesAndDir:
|
|
|
|