GRAYBYTE WORDPRESS FILE MANAGER8431

Server IP : 198.54.121.189 / Your IP : 216.73.216.140
System : Linux premium69.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
PHP Version : 7.4.33
Disable Function : NONE
cURL : ON | WGET : ON | Sudo : OFF | Pkexec : OFF
Directory : /lib64/python2.7/Demo/pdist/
Upload Files :
Current_dir [ Not Writeable ] Document_root [ Writeable ]

Command :


Current File : /lib64/python2.7/Demo/pdist//cmptree.py
"""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()

[ Back ]
Name
Size
Last Modified
Owner / Group
Permissions
Options
..
--
June 15 2024 08:34:37
root / root
0755
FSProxy.py
7.645 KB
April 19 2020 21:13:39
root / root
0644
FSProxy.pyc
12.495 KB
April 10 2024 04:58:46
root / root
0644
FSProxy.pyo
12.495 KB
April 10 2024 04:58:46
root / root
0644
RCSProxy.py
4.612 KB
April 10 2024 04:57:37
root / root
0755
RCSProxy.pyc
7.569 KB
April 10 2024 04:58:46
root / root
0644
RCSProxy.pyo
7.569 KB
April 10 2024 04:58:46
root / root
0644
README
4.164 KB
April 19 2020 21:13:39
root / root
0644
client.py
4.598 KB
April 19 2020 21:13:39
root / root
0644
client.pyc
6.566 KB
April 10 2024 04:58:46
root / root
0644
client.pyo
6.566 KB
April 10 2024 04:58:46
root / root
0644
cmdfw.py
4.532 KB
April 19 2020 21:13:39
root / root
0644
cmdfw.pyc
5.116 KB
April 10 2024 04:58:46
root / root
0644
cmdfw.pyo
5.116 KB
April 10 2024 04:58:46
root / root
0644
cmptree.py
5.643 KB
April 19 2020 21:13:39
root / root
0644
cmptree.pyc
5.979 KB
April 10 2024 04:58:46
root / root
0644
cmptree.pyo
5.979 KB
April 10 2024 04:58:46
root / root
0644
cvslib.py
9.937 KB
April 19 2020 21:13:39
root / root
0644
cvslib.pyc
12.832 KB
April 10 2024 04:58:46
root / root
0644
cvslib.pyo
12.832 KB
April 10 2024 04:58:46
root / root
0644
cvslock.py
6.612 KB
April 19 2020 21:13:39
root / root
0644
cvslock.pyc
8.359 KB
April 10 2024 04:58:46
root / root
0644
cvslock.pyo
8.359 KB
April 10 2024 04:58:46
root / root
0644
mac.py
0.344 KB
April 19 2020 21:13:39
root / root
0644
mac.pyc
0.584 KB
April 10 2024 04:58:46
root / root
0644
mac.pyo
0.584 KB
April 10 2024 04:58:46
root / root
0644
makechangelog.py
2.918 KB
April 10 2024 04:57:37
root / root
0755
makechangelog.pyc
3.049 KB
April 10 2024 04:58:46
root / root
0644
makechangelog.pyo
3.049 KB
April 10 2024 04:58:46
root / root
0644
rcsbump
0.728 KB
April 10 2024 04:57:37
root / root
0755
rcsclient.py
1.761 KB
April 19 2020 21:13:39
root / root
0644
rcsclient.pyc
2.051 KB
April 10 2024 04:58:46
root / root
0644
rcsclient.pyo
2.051 KB
April 10 2024 04:58:46
root / root
0644
rcslib.py
10.076 KB
April 19 2020 21:13:39
root / root
0644
rcslib.pyc
11.277 KB
April 10 2024 04:58:46
root / root
0644
rcslib.pyo
11.277 KB
April 10 2024 04:58:46
root / root
0644
rcvs
0.114 KB
April 10 2024 04:57:37
root / root
0755
rcvs.py
13.324 KB
April 10 2024 04:57:37
root / root
0755
rcvs.pyc
14.079 KB
April 10 2024 04:58:46
root / root
0644
rcvs.pyo
14.079 KB
April 10 2024 04:58:46
root / root
0644
rrcs
0.114 KB
April 10 2024 04:57:37
root / root
0755
rrcs.py
3.898 KB
April 10 2024 04:57:37
root / root
0755
rrcs.pyc
5.497 KB
April 10 2024 04:58:46
root / root
0644
rrcs.pyo
5.497 KB
April 10 2024 04:58:46
root / root
0644
security.py
1.066 KB
April 19 2020 21:13:39
root / root
0644
security.pyc
1.642 KB
April 10 2024 04:58:46
root / root
0644
security.pyo
1.642 KB
April 10 2024 04:58:46
root / root
0644
server.py
4.474 KB
April 19 2020 21:13:39
root / root
0644
server.pyc
5.831 KB
April 10 2024 04:58:46
root / root
0644
server.pyo
5.831 KB
April 10 2024 04:58:46
root / root
0644
sumtree.py
0.506 KB
April 19 2020 21:13:39
root / root
0644
sumtree.pyc
0.882 KB
April 10 2024 04:58:46
root / root
0644
sumtree.pyo
0.882 KB
April 10 2024 04:58:46
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025
CONTACT ME
Static GIF