Commit all these files.
diff --git a/setup/doctype/backup_manager/backup_dropbox.py b/setup/doctype/backup_manager/backup_dropbox.py
index 3b0857f..0cd82c9 100644
--- a/setup/doctype/backup_manager/backup_dropbox.py
+++ b/setup/doctype/backup_manager/backup_dropbox.py
@@ -1,6 +1,9 @@
import os
import webnotes
-from webnotes.utils import get_request_site_address
+from webnotes.utils import get_request_site_address, get_base_path
+from webnotes import _
+
+filename = ''
@webnotes.whitelist()
def get_dropbox_authorize_url():
@@ -9,8 +12,7 @@
return_address = get_request_site_address(True) \
+ "?cmd=setup.doctype.backup_manager.backup_dropbox.dropbox_callback"
- url = sess.build_authorize_url(request_token, return_address)
-
+ url = sess.build_authorize_url(request_token, return_address)
return {
"url": url,
"key": request_token.key,
@@ -49,7 +51,7 @@
webnotes.response['page_name'] = 'message.html'
def backup_to_dropbox():
- from dropbox import client, session
+ from dropbox import client, session, rest
from conf import dropbox_access_key, dropbox_secret_key
from webnotes.utils.backups import new_backup
if not webnotes.conn:
@@ -67,22 +69,19 @@
backup = new_backup()
filename = backup.backup_path_db
upload_file_to_dropbox(filename, "database", dropbox_client)
-
# upload files
- response = dropbox_client.metadata("files")
+ response = dropbox_client.metadata("/database")
-
- # add missing files
- for filename in os.listdir(os.path.join("public", "files")):
- found = False
- for file_metadata in response["contents"]:
- if filename==os.path.basename(file_metadata["path"]):
- if os.stat(os.path.join("public", "files", filename)).st_size==file_metadata["bytes"]:
- found=True
-
- if not found:
- upload_file_to_dropbox(os.path.join("public", "files", filename), "files", dropbox_client)
-
+ #add missing files
+ # for filename in os.listdir(filename):
+ # found = False
+ # for file_metadata in response["contents"]:
+ # if filename==os.path.basename(file_metadata["path"]):
+ # if os.stat(filename).st_size==file_metadata["bytes"]:
+ # found=True
+
+ # if not found:
+ # upload_file_to_dropbox(filename, "database", dropbox_client)
def get_dropbox_session():
from dropbox import session
@@ -91,25 +90,25 @@
except ImportError, e:
webnotes.msgprint(_("Please set Dropbox access keys in") + " conf.py",
raise_exception=True)
-
sess = session.DropboxSession(dropbox_access_key, dropbox_secret_key, "app_folder")
return sess
def upload_file_to_dropbox(filename, folder, dropbox_client):
- if __name__=="__main__":
- print "Uploading " + filename
- size = os.stat(filename).st_size
- f = open(filename,'r')
-
- if size > 4194304:
- uploader = dropbox_client.get_chunked_uploader(f, size)
- while uploader.offset < size:
- try:
- uploader.upload_chunked()
- except rest.ErrorResponse, e:
- pass
- else:
- response = dropbox_client.put_file(folder + "/" + os.path.basename(filename), f, overwrite=True)
+ path = os.path.join(get_base_path(),"public", "backups")
+ for files in os.listdir(path):
+ file_name = path + "/" + files
+ size = os.stat(file_name).st_size
+ f = open(filename,'r')
+
+ if size > 4194304:
+ uploader = dropbox_client.get_chunked_uploader(f, size)
+ while uploader.offset < size:
+ try:
+ uploader.upload_chunked()
+ except rest.ErrorResponse, e:
+ pass
+ else:
+ response = dropbox_client.put_file(folder + "/" + os.path.basename(file_name), f, overwrite=True)
if __name__=="__main__":
backup_to_dropbox()
\ No newline at end of file
diff --git a/setup/doctype/backup_manager/backup_manager.py b/setup/doctype/backup_manager/backup_manager.py
index 48d48e8..ed2c64b 100644
--- a/setup/doctype/backup_manager/backup_manager.py
+++ b/setup/doctype/backup_manager/backup_manager.py
@@ -3,6 +3,7 @@
from __future__ import unicode_literals
import webnotes
from webnotes import _
+from backup_dropbox import dropbox_callback, get_dropbox_session, get_dropbox_authorize_url
class DocType:
def __init__(self, d, dl):
@@ -26,7 +27,6 @@
send_email(True, "Dropbox")
except Exception, e:
send_email(False, "Dropbox", e)
-
def send_email(success, service_name, error_status=None):
if success:
subject = "Backup Upload Successful"
@@ -44,5 +44,7 @@
# email system managers
from webnotes.utils.email_lib import sendmail
- sendmail(webnotes.conn.get_value("Backup Manager", None, "send_notifications_to").split(","),
- subject=subject, msg=message)
+ sendmail(webnotes.conn.get_value("Backup Manager", None, "send_notifications_to").split(","),
+ subject=subject, msg=message)
+
+get_dropbox_authorize_url()
\ No newline at end of file