def fileTransfer(src_host, src_path, dst_host, dst_path, direct=False, compressed=False): import hostserver if compressed: src = hostserver.randomFilename(src_host) dst = hostserver.randomFilename(dst_host) compress(src_host, src_path, src) else: if direct: src = src_path dst = dst_path mode = src_host.execute("stat -c %%a %s" % src).strip() else: dst = hostserver.randomFilename(dst_host) src = hostserver.randomFilename(src_host) copy(src_host, src_path, src) chmod(src_host, src, 644) url = hostserver.downloadGrant(src_host, src, "file") res = fetch(dst_host, url, dst) assert existsFile(dst_host, dst), "Failure to transfer file: %s" % res if compressed: uncompress(dst_host, dst, dst_path) delete(dst_host, dst) delete(src_host, src) else: if not direct: copy(dst_host, dst, dst_path) delete(dst_host, dst) delete(src_host, src) else: chmod(src_host, src_path, mode)
def downloadCaptureUri(host, name): filename = "%s.pcap" % name path = hostserver.randomFilename(host) host.execute("tcpslice -w %s %s/*" % (path, _remoteDir(name))) assert fileutil.existsFile(host, path) return hostserver.downloadGrant(host, path, filename)