Merge pull request #63 from plutec/master

Upload supports empty files
This commit is contained in:
Richard O'Dwyer 2013-11-11 11:38:13 -08:00
commit 384519c89a

View file

@ -199,6 +199,34 @@ class Mega(object):
##########################################################################
# GET
def find_path_descriptor(self, path):
"""
Find descriptor of folder inside a path. i.e.: folder1/folder2/folder3
Params:
path, string like folder1/folder2/folder3
Return:
Descriptor (str) of folder3 if exists, None otherwise
"""
paths = path.split('/')
files = self.get_files()
parent_desc = self.root_id
found = False
for foldername in paths:
if foldername != '':
for file in files.iteritems():
if file[1]['a'] and file[1]['t'] and \
file[1]['a']['n'] == foldername:
if parent_desc == file[1]['p']:
parent_desc = file[0]
found = True
if found:
found = False
else:
return None
return parent_desc
def find(self, filename):
"""
Return file object from given filename
@ -531,7 +559,7 @@ class Mega(object):
mac_str = '\0' * 16
mac_encryptor = AES.new(k_str, AES.MODE_CBC, mac_str)
iv_str = a32_to_str([ul_key[4], ul_key[5], ul_key[4], ul_key[5]])
if file_size > 0:
for chunk_start, chunk_size in get_chunks(file_size):
chunk = input_file.read(chunk_size)
upload_progress += len(chunk)
@ -561,6 +589,10 @@ class Mega(object):
if self.options.get('verbose') is True:
# upload progress
print('{0} of {1} uploaded'.format(upload_progress, file_size))
else:
output_file = requests.post(ul_url + "/0",
data='', timeout=self.timeout)
completion_file_handle = output_file.text
file_mac = str_to_a32(mac_str)