Merge remote-tracking branch 'upstream/master'
diff --git a/setup/doctype/backup_manager/backup_dropbox.py b/setup/doctype/backup_manager/backup_dropbox.py
index 3b0857f..e8eed3b 100644
--- a/setup/doctype/backup_manager/backup_dropbox.py
+++ b/setup/doctype/backup_manager/backup_dropbox.py
@@ -1,6 +1,7 @@
 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 _
 
 @webnotes.whitelist()
 def get_dropbox_authorize_url():
@@ -67,22 +68,23 @@
 	backup = new_backup()
 	filename = backup.backup_path_db
 	upload_file_to_dropbox(filename, "database", dropbox_client)
-
-	# upload files
-	response = dropbox_client.metadata("files")
-
+	path1 = os.path.join(get_base_path(), "public", "backups")
+	response = dropbox_client.metadata('/database')
 	
-	# add missing files
-	for filename in os.listdir(os.path.join("public", "files")):
+	#add missing files
+	found = False
+	for filename in os.listdir(path1):
 		found = False
+		pth=path1+'/'+filename
+		size=os.stat(pth).st_size
 		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"]:
+				if size==file_metadata["bytes"]:
 					found=True
-
 		if not found:
-			upload_file_to_dropbox(os.path.join("public", "files", filename), "files", dropbox_client)
-
+			upload_file_to_dropbox(pth, "database", dropbox_client)
+	if found:
+		webnotes.msgprint("no backup required everything is upto date")
 
 def get_dropbox_session():
 	from dropbox import session
@@ -96,20 +98,17 @@
 	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)
+		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)
 
 if __name__=="__main__":
-	backup_to_dropbox()
\ No newline at end of file
+	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..2b9cfca 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 webnotes.utils import getTraceback
 
 class DocType:
 	def __init__(self, d, dl):
@@ -25,6 +26,7 @@
 		backup_to_dropbox()
 		send_email(True, "Dropbox")
 	except Exception, e:
+		webnotes.errprint(e)
 		send_email(False, "Dropbox", e)
 
 def send_email(success, service_name, error_status=None):
@@ -40,7 +42,8 @@
 		failed.</p>
 		<p>Error message: %s</p>
 		<p>Please contact your system manager for more information.</p>
-		""" % (service_name, error_status)
+		<p>Detailed Error Trace: %s</p>""" % \
+		(service_name, error_status, getTraceback().replace("\n", "<br>"))
 	
 	# email system managers
 	from webnotes.utils.email_lib import sendmail