9 sys.path.append(os.path.dirname(__file__) +
"/../../hce")
13 FORMAT_PICKLE =
'PICKLE' 15 DEFAULT_FORMAT = FORMAT_PICKLE
17 OPERATION_PACK =
'PACK' 18 OPERATION_UNPACK =
'UNPACK' 19 DEFAULT_OPERATION = OPERATION_PACK
22 pr = argparse.ArgumentParser()
23 pr.add_argument(
'-f',
'--format', choices=[FORMAT_PICKLE, FORMAT_JSON], default=DEFAULT_FORMAT)
24 pr.add_argument(
'-o',
'--operation', choices=[OPERATION_PACK, OPERATION_UNPACK], default=DEFAULT_OPERATION)
29 if __name__ ==
'__main__':
32 namespace = parser.parse_args(sys.argv[1:])
34 if namespace.format == FORMAT_PICKLE
and namespace.operation == OPERATION_PACK:
36 elif namespace.format == FORMAT_PICKLE
and namespace.operation == OPERATION_UNPACK:
37 sys.stdout.write(json.dumps(pickle.loads(sys.stdin.read()).toJSON()))
38 elif namespace.format == FORMAT_JSON
and namespace.operation == OPERATION_PACK:
39 sys.stdout.write(json.dumps(json.loads(sys.stdin.read())))
40 elif namespace.format == FORMAT_JSON
and namespace.operation == OPERATION_UNPACK:
41 sys.stdout.write(json.dumps(json.loads(sys.stdin.read())))
43 raise Exception(
"Unsupport command line parameter.")
45 except Exception, err:
46 sys.stderr.write(str(err) +
'\n')