From 242212311d8034939788cb6d9ee663930599ad88 Mon Sep 17 00:00:00 2001 From: Brian Date: Mon, 11 Jul 2011 13:31:43 -0700 Subject: [PATCH] file_copy is no longer used, thus remove it Last user of it was removed via 4364a2 TEST=N/A BUG=None Change-Id: Id43c5571a823d6d56ca2f20c138bc0ed9de3d1d0 Reviewed-on: http://gerrit.chromium.org/gerrit/3893 Reviewed-by: David James Tested-by: Brian Harring --- file_copy.py | 100 --------------------------------------------------- 1 file changed, 100 deletions(-) delete mode 100755 file_copy.py diff --git a/file_copy.py b/file_copy.py deleted file mode 100755 index 8599b84eef..0000000000 --- a/file_copy.py +++ /dev/null @@ -1,100 +0,0 @@ -#!/usr/bin/env python - -# This program operates much like dd, but with two important differences: -# 1. Many features lacking -# 2. seek_bytes= param can specify seek offset in bytes, not block size - -import os -import sys -import time - -def parseNumber(numstr): - if numstr.endswith("GB"): - return int(numstr[:-2]) * 1000 * 1000 * 1000 - if numstr.endswith("MB"): - return int(numstr[:-2]) * 1000 * 1000 - if numstr.endswith("kB"): - return int(numstr[:-2]) * 1000 - if numstr.endswith("G"): - return int(numstr[:-1]) * 1024 * 1024 * 1024 - if numstr.endswith("M"): - return int(numstr[:-1]) * 1024 * 1024 - if numstr.endswith("K"): - return int(numstr[:-1]) * 1024 - if numstr.endswith("b"): - return int(numstr[:-1]) * 512 - if numstr.endswith("w"): - return int(numstr[:-1]) * 2 - if numstr.endswith("c"): - return int(numstr[:-1]) - if not numstr.isdigit(): - print >> sys.stderr, "Don't know how to parse number", numstr - sys.exit(1) - return int(numstr) - -def main(argv): - arg_if = "" - arg_of = "" - arg_bs = 512 - arg_seek = -1 - arg_seek_bytes = -1 - - for i in argv: - if i.startswith("if="): - arg_if=i[3:] - elif i.startswith("of="): - arg_of=i[3:] - elif i.startswith("bs="): - arg_bs=parseNumber(i[3:]) - elif i.startswith("seek="): - arg_seek=int(i[5:]) - elif i.startswith("seek_bytes="): - arg_seek_bytes=parseNumber(i[11:]) - - if arg_seek >= 0 and arg_seek_bytes >= 0: - print >> sys.stderr, "you can't specify seek= and seek_bytes=" - sys.exit(1) - - seek_bytes = 0 - if arg_seek >= 0: - seek_bytes = arg_seek * arg_bs - elif arg_seek_bytes >= 0: - seek_bytes = arg_seek_bytes - - if_fd = 0 - of_fd = 1 - if len(arg_if) != 0: - print >> sys.stderr, "opening for read", arg_if - if_fd = os.open(arg_if, os.O_RDONLY) - if len(arg_of) != 0: - print >> sys.stderr, "opening for write", arg_of - of_fd = os.open(arg_of, os.O_WRONLY | os.O_TRUNC | os.O_CREAT) - - if arg_seek_bytes > 0: - print >> sys.stderr, "seeking to", seek_bytes, "bytes in output file" - os.lseek(of_fd, seek_bytes, os.SEEK_SET) - - bytes_copied = 0 - - t1 = time.time() - - buf = os.read(if_fd, arg_bs) - while len(buf) > 0: - bytes_written = 0 - while bytes_written < len(buf): - bytes_written += os.write(of_fd, buf[bytes_written:]) - bytes_copied += bytes_written - buf = os.read(if_fd, arg_bs) - - os.close(if_fd) - os.close(of_fd) - - t2 = time.time() - - # print timing info - print >> sys.stderr, 'copy %d bytes took %0.3f s' % (bytes_copied, t2 - t1) - print >> sys.stderr, 'speed: %0.1f MB/s' % \ - ((bytes_copied / 1000000) / (t2 - t1)) - -if __name__ == '__main__': - main(sys.argv)