Allow fireball to transfer binary files, fixup fireball docs, make fetch work with fireball.
This commit is contained in:
parent
6a7f5b20ed
commit
b0e28c1669
1 changed files with 11 additions and 5 deletions
16
fireball
16
fireball
|
@ -162,13 +162,15 @@ def command(data):
|
|||
return dict(stdout=stdout, stderr=stderr)
|
||||
|
||||
def fetch(data):
|
||||
if 'data' not in data:
|
||||
return dict(failed=True, msg='internal error: data is required')
|
||||
if 'in_path' not in data:
|
||||
return dict(failed=True, msg='internal error: out_path is required')
|
||||
return dict(failed=True, msg='internal error: in_path is required')
|
||||
|
||||
# FIXME: should probably support chunked file transfer for binary files
|
||||
# at some point. For now, just base64 encodes the file
|
||||
# so don't use it to move ISOs, use rsync.
|
||||
|
||||
fh = open(data['in_path'])
|
||||
data = fh.read()
|
||||
data = base64.b64encode(fh.read())
|
||||
return dict(data=data)
|
||||
|
||||
def put(data):
|
||||
|
@ -178,8 +180,12 @@ def put(data):
|
|||
if 'out_path' not in data:
|
||||
return dict(failed=True, msg='internal error: out_path is required')
|
||||
|
||||
# FIXME: should probably support chunked file transfer for binary files
|
||||
# at some point. For now, just base64 encodes the file
|
||||
# so don't use it to move ISOs, use rsync.
|
||||
|
||||
fh = open(data['out_path'], 'w')
|
||||
fh.write(data['data'])
|
||||
fh.write(base64.b64decode(data['data']))
|
||||
fh.close()
|
||||
|
||||
return dict()
|
||||
|
|
Loading…
Reference in a new issue