fixes in backup_dropbox
This commit is contained in:
parent
690fefe9c1
commit
0931642c3a
@ -44,7 +44,10 @@ def dropbox_callback(oauth_token=None, not_approved=False):
|
|||||||
webnotes.conn.set_value("Backup Manager", "Backup Manager", "dropbox_access_secret", access_token.secret)
|
webnotes.conn.set_value("Backup Manager", "Backup Manager", "dropbox_access_secret", access_token.secret)
|
||||||
webnotes.conn.set_value("Backup Manager", "Backup Manager", "dropbox_access_allowed", allowed)
|
webnotes.conn.set_value("Backup Manager", "Backup Manager", "dropbox_access_allowed", allowed)
|
||||||
dropbox_client = client.DropboxClient(sess)
|
dropbox_client = client.DropboxClient(sess)
|
||||||
dropbox_client.file_create_folder("files")
|
try:
|
||||||
|
dropbox_client.file_create_folder("files")
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
|
||||||
else:
|
else:
|
||||||
allowed = 0
|
allowed = 0
|
||||||
@ -94,7 +97,11 @@ def backup_to_dropbox():
|
|||||||
upload_file_to_dropbox(filepath, "files", dropbox_client)
|
upload_file_to_dropbox(filepath, "files", dropbox_client)
|
||||||
|
|
||||||
def get_dropbox_session():
|
def get_dropbox_session():
|
||||||
from dropbox import session
|
try:
|
||||||
|
from dropbox import session
|
||||||
|
except:
|
||||||
|
webnotes.msgprint(_("Please install dropbox python module"), raise_exception=1)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
from conf import dropbox_access_key, dropbox_secret_key
|
from conf import dropbox_access_key, dropbox_secret_key
|
||||||
except ImportError:
|
except ImportError:
|
||||||
@ -107,16 +114,20 @@ def upload_file_to_dropbox(filename, folder, dropbox_client):
|
|||||||
from dropbox import rest
|
from dropbox import rest
|
||||||
size = os.stat(filename).st_size
|
size = os.stat(filename).st_size
|
||||||
f = open(filename,'r')
|
f = open(filename,'r')
|
||||||
if size > 4194304:
|
|
||||||
|
# if max packet size reached, use chunked uploader
|
||||||
|
max_packet_size = 4194304
|
||||||
|
|
||||||
|
if size > max_packet_size:
|
||||||
uploader = dropbox_client.get_chunked_uploader(f, size)
|
uploader = dropbox_client.get_chunked_uploader(f, size)
|
||||||
while uploader.offset < size:
|
while uploader.offset < size:
|
||||||
try:
|
try:
|
||||||
uploader.upload_chunked()
|
uploader.upload_chunked()
|
||||||
uploader.finish(os.path.join(folder, os.path.basename(filename)), overwrite=True)
|
uploader.finish(folder + "/" + os.path.basename(filename), overwrite=True)
|
||||||
except rest.ErrorResponse:
|
except rest.ErrorResponse:
|
||||||
pass
|
pass
|
||||||
else:
|
else:
|
||||||
dropbox_client.put_file(os.path.join(folder, os.path.basename(filename)), f, overwrite=True)
|
dropbox_client.put_file(folder + "/" + os.path.basename(filename), f, overwrite=True)
|
||||||
|
|
||||||
if __name__=="__main__":
|
if __name__=="__main__":
|
||||||
backup_to_dropbox()
|
backup_to_dropbox()
|
Loading…
x
Reference in New Issue
Block a user