Codebase list python-pyeclib / a816e2c
type -> ec_type updates for command line tools Signed-off-by: Tushar Gohad <tushar.gohad@intel.com> Tushar Gohad 10 years ago
4 changed file(s) with 20 addition(s) and 22 deletion(s). Raw diff Collapse all Expand all
9999
100100 class ECScheme:
101101
102 def __init__(self, k, m, w, type):
102 def __init__(self, k, m, w, ec_type):
103103 self.k = k
104104 self.m = m
105105 self.w = w
106 self.type = type
106 self.ec_type = ec_type
107107
108108 def __str__(self):
109 return "k=%d m=%d w=%d type=%s" % (self.k, self.m, self.w, self.type)
109 return "k=%d m=%d w=%d ec_type=%s" % (self.k, self.m, self.w, self.ec_type)
110110
111111 valid_flat_xor_3 = [(6, 6), (7, 6), (8, 6), (9, 6),
112112 (10, 6), (11, 6), (12, 6), (13, 6),
222222
223223 schemes = get_viable_schemes(args.n, args.r, args.s, args.f)
224224
225 # Results will be List[(type, throughput)]
225 # Results will be List[(ec_type, throughput)]
226226 results = []
227227
228228 # Num iterations
239239 try:
240240 ec_driver = ECDriver(
241241 "pyeclib.core.ECPyECLibDriver",
242 k=scheme.k, m=scheme.m, type=scheme.type)
242 k=scheme.k, m=scheme.m, ec_type=scheme.ec_type)
243243 except Exception as e:
244244 print("Scheme %s is not defined (%s)." % (scheme, e))
245245 continue
265265 print(" ======== To Use this Policy, Copy and Paste Text (not including "
266266 "this header and footer) to Swift Conf ========")
267267 print(" type = erasure_coding")
268 print(" name = %s_%d_%d" % (results[i][0].type,
268 print(" name = %s_%d_%d" % (results[i][0].ec_type,
269269 results[i][0].k, results[i][0].m))
270 print(" ec_type = %s" % results[i][0].type)
270 print(" ec_type = %s" % results[i][0].ec_type)
271271 print(" ec_k = %s" % results[i][0].k)
272272 print(" ec_m = %s" % results[i][0].m)
273273 print(" ================================================================"
3131 parser = argparse.ArgumentParser(description='Decoder for PyECLib.')
3232 parser.add_argument('k', type=int, help='number of data elements')
3333 parser.add_argument('m', type=int, help='number of parity elements')
34 parser.add_argument('type', help='EC algorithm used')
34 parser.add_argument('ec_type', help='EC algorithm used')
3535 parser.add_argument('fragments', metavar='fragment', nargs='+',
3636 help='fragments to decode')
3737 parser.add_argument('filename', help='output file')
3838
3939 args = parser.parse_args()
4040
41 print args.k
42 print args.m
43 print args.type
44 print args.fragments
45 print args.filename
41 print("k = %d, m = %d" % (args.k, args.m))
42 print("ec_type = %s" % args.ec_type)
43 print("fragments = %s" % args.fragments)
44 print("filename = %s" % args.filename)
4645
4746 ec_driver = ECDriver(
48 "pyeclib.core.ECPyECLibDriver", k=args.k, m=args.m, type=args.type)
47 "pyeclib.core.ECPyECLibDriver", k=args.k, m=args.m, ec_type=args.ec_type)
4948
5049 fragment_list = []
5150
3131 parser = argparse.ArgumentParser(description='Encoder for PyECLib.')
3232 parser.add_argument('k', type=int, help='number of data elements')
3333 parser.add_argument('m', type=int, help='number of parity elements')
34 parser.add_argument('type', help='EC algorithm used')
34 parser.add_argument('ec_type', help='EC algorithm used')
3535 parser.add_argument('file_dir', help='directory with the file')
3636 parser.add_argument('filename', help='file to encode')
3737 parser.add_argument('fragment_dir', help='directory to drop encoded fragments')
3838
3939 args = parser.parse_args()
4040
41 print args.k
42 print args.m
43 print args.type
44 print args.filename
41 print("k = %d, m = %d" % (args.k, args.m))
42 print("ec_type = %s" % args.ec_type)
43 print("filename = %s" % args.filename)
4544
4645 ec_driver = ECDriver(
4746 "pyeclib.core.ECPyECLibDriver",
48 k=args.k, m=args.m, type=args.type)
47 k=args.k, m=args.m, ec_type=args.ec_type)
4948
5049 # read
5150 with open(("%s/%s" % (args.file_dir, args.filename)), "rb") as fp:
3333 'recover missing fragments.')
3434 parser.add_argument('k', type=int, help='number of data elements')
3535 parser.add_argument('m', type=int, help='number of parity elements')
36 parser.add_argument('type', help='EC algorithm used')
36 parser.add_argument('ec_type', help='EC algorithm used')
3737 parser.add_argument('missing_fragments', type=int, metavar='missing_fragment',
3838 nargs='+', help='missing_fragments')
3939
4141
4242 ec_driver = ECDriver(
4343 "pyeclib.core.ECPyECLibDriver",
44 k=args.k, m=args.m, type=args.type)
44 k=args.k, m=args.m, ec_type=args.ec_type)
4545
4646 fragments_needed = ec_driver.fragments_needed(args.missing_fragments)
4747