X-Git-Url: https://git.rkrishnan.org/?a=blobdiff_plain;f=zfec%2Fzfec%2Fcmdline_zfec.py;fp=zfec%2Fzfec%2Fcmdline_zfec.py;h=0000000000000000000000000000000000000000;hb=307b550ab0df85341b6fb662f4e1523d611d238b;hp=2eee2b0e2726e9e754021472ac41e6e69184627e;hpb=82bb18a49a4813fa6618d69df11df34a4db50ead;p=tahoe-lafs%2Fzfec.git diff --git a/zfec/zfec/cmdline_zfec.py b/zfec/zfec/cmdline_zfec.py deleted file mode 100755 index 2eee2b0..0000000 --- a/zfec/zfec/cmdline_zfec.py +++ /dev/null @@ -1,72 +0,0 @@ -#!/usr/bin/env python - -# zfec -- a fast C implementation of Reed-Solomon erasure coding with -# command-line, C, and Python interfaces - -import sys - -import argparse -import filefec - -from zfec import __version__ as libversion -__version__ = libversion - -DEFAULT_K=3 -DEFAULT_M=8 - -def main(): - - if '-V' in sys.argv or '--version' in sys.argv: - print "zfec library version: ", libversion - print "zfec command-line tool version: ", __version__ - sys.exit(0) - - parser = argparse.ArgumentParser(description="Encode a file into a set of share files, a subset of which can later be used to recover the original file.") - - parser.add_argument('inputfile', help='file to encode or "-" for stdin', type=argparse.FileType('rb'), metavar='INF') - parser.add_argument('-d', '--output-dir', help='directory in which share file names will be created (default ".")', default='.', metavar='D') - parser.add_argument('-p', '--prefix', help='prefix for share file names; If omitted, the name of the input file will be used.', metavar='P') - parser.add_argument('-s', '--suffix', help='suffix for share file names (default ".fec")', default='.fec', metavar='S') - parser.add_argument('-m', '--totalshares', help='the total number of share files created (default %d)' % DEFAULT_M, default=DEFAULT_M, type=int, metavar='M') - parser.add_argument('-k', '--requiredshares', help='the number of share files required to reconstruct (default %d)' % DEFAULT_K, default=DEFAULT_K, type=int, metavar='K') - parser.add_argument('-f', '--force', help='overwrite any file which already in place an output file (share file)', action='store_true') - parser.add_argument('-v', '--verbose', help='print out messages about progress', action='store_true') - parser.add_argument('-q', '--quiet', help='quiet progress indications and warnings about silly choices of K and M', action='store_true') - parser.add_argument('-V', '--version', help='print out version number and exit', action='store_true') - args = parser.parse_args() - - if args.prefix is None: - args.prefix = args.inputfile.name - if args.prefix == "": - args.prefix = "" - - if args.verbose and args.quiet: - print "Please choose only one of --verbose and --quiet." - sys.exit(1) - - if args.totalshares > 256 or args.totalshares < 1: - print "Invalid parameters, totalshares is required to be <= 256 and >= 1\nPlease see the accompanying documentation." - sys.exit(1) - if args.requiredshares > args.totalshares or args.requiredshares < 1: - print "Invalid parameters, requiredshares is required to be <= totalshares and >= 1\nPlease see the accompanying documentation." - sys.exit(1) - - if not args.quiet: - if args.requiredshares == 1: - print "warning: silly parameters: requiredshares == 1, which means that every share will be a complete copy of the file. You could use \"cp\" for the same effect. But proceeding to do it anyway..." - if args.requiredshares == args.totalshares: - print "warning: silly parameters: requiredshares == totalshares, which means that all shares will be required in order to reconstruct the file. You could use \"split\" for the same effect. But proceeding to do it anyway..." - - args.inputfile.seek(0, 2) - fsize = args.inputfile.tell() - args.inputfile.seek(0, 0) - return filefec.encode_to_files(args.inputfile, fsize, args.output_dir, args.prefix, args.requiredshares, args.totalshares, args.suffix, args.force, args.verbose) - -# zfec -- fast forward error correction library with Python interface -# -# Copyright (C) 2007 Allmydata, Inc. -# Author: Zooko Wilcox-O'Hearn -# -# This file is part of zfec. -# -# See README.rst for licensing information.