Example #1
0
def consume(input_queue, done_jobs, length_pipe, name_pipe, keyfile_name):
    while True:
        try:
            filename, data = input_queue.get()
            name_pipe.send(filename)
            length_pipe.send(len(data))

            metadata = coding.send_chunks_get_metadata(data)
            print "Got chunks"
            # Save it back
            with open(keyfile_name, 'r') as keyfile_handle:
                keyfile = json.loads(keyfile_handle.read())
            keyfile[filename] = metadata
            keyfilelib.save(keyfile_name, keyfile)
            print "Done saving to keyfile"
        except Queue.Empty:
            time.sleep(1)
Example #2
0
args = parser.parse_args()

if not args.keyfile:
    keyfile_name = keyfilelib.create_new_keyfile()
else:
    keyfile_name = args.keyfile

with open(keyfile_name, 'r') as keyfile_handle:
    keyfile = json.loads(keyfile_handle.read())

if args.upload:
    with open(args.upload, 'r') as f:
        data = f.read()
        metadata = coding.send_chunks_get_metadata(data)
        keyfile[args.upload] = metadata
        keyfilelib.save(keyfile_name, keyfile)

if args.download:
    if not args.download in keyfile:
        print "Unknown file. Exiting"
        sys.exit(1)
    if not args.output:
        print "Please supply a destination file for writing"
    else:
        file_metadata = keyfile[args.download]
        data = coding.get_chunks(file_metadata)
        output_file = open(args.output, "w")
        output_file.write(data)
        output_file.close()