From c9e432e62acff89341fb08d0c1af214c22c503e4 Mon Sep 17 00:00:00 2001 From: Faris Ansari Date: Wed, 27 Mar 2019 15:13:03 +0530 Subject: [PATCH 1/3] fix: Ignore files that don't exist in Dropbox backup --- .../dropbox_settings/dropbox_settings.py | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/frappe/integrations/doctype/dropbox_settings/dropbox_settings.py b/frappe/integrations/doctype/dropbox_settings/dropbox_settings.py index fe73f403db..92aaf4a96e 100644 --- a/frappe/integrations/doctype/dropbox_settings/dropbox_settings.py +++ b/frappe/integrations/doctype/dropbox_settings/dropbox_settings.py @@ -93,6 +93,10 @@ def send_email(success, service_name, error_status=None): frappe.sendmail(recipients=recipients, subject=subject, message=message) def backup_to_dropbox(upload_db_backup=True): + import time + + start_time = time.time() + if not frappe.db: frappe.connect() @@ -127,6 +131,7 @@ def backup_to_dropbox(upload_db_backup=True): upload_from_folder(get_files_path(), 0, "/files", dropbox_client, did_not_upload, error_log) upload_from_folder(get_files_path(is_private=1), 1, "/private/files", dropbox_client, did_not_upload, error_log) + print(time.time() - start) return did_not_upload, list(set(error_log)) def upload_from_folder(path, is_private, dropbox_folder, dropbox_client, did_not_upload, error_log): @@ -155,11 +160,14 @@ def upload_from_folder(path, is_private, dropbox_folder, dropbox_client, did_not found = False for file_metadata in response.entries: - if (os.path.basename(filepath) == file_metadata.name - and os.stat(encode(filepath)).st_size == int(file_metadata.size)): - found = True - update_file_dropbox_status(f.name) - break + try: + if (os.path.basename(filepath) == file_metadata.name + and os.stat(encode(filepath)).st_size == int(file_metadata.size)): + found = True + update_file_dropbox_status(f.name) + break + except Exception: + error_log.append(frappe.get_traceback()) if not found: try: From 34b095128143df1938afc2019228e1b7c4ba0990 Mon Sep 17 00:00:00 2001 From: Faris Ansari Date: Wed, 27 Mar 2019 15:14:06 +0530 Subject: [PATCH 2/3] fix: Chain setup_defaults in all type of views --- .../js/frappe/views/calendar/calendar.js | 10 ++++---- .../public/js/frappe/views/file/file_view.js | 16 +++++++------ .../js/frappe/views/gantt/gantt_view.js | 22 +++++++++-------- .../js/frappe/views/image/image_view.js | 6 +++-- .../js/frappe/views/kanban/kanban_view.js | 24 ++++++++++--------- 5 files changed, 44 insertions(+), 34 deletions(-) diff --git a/frappe/public/js/frappe/views/calendar/calendar.js b/frappe/public/js/frappe/views/calendar/calendar.js index 31ea1379fb..8a42b4b828 100644 --- a/frappe/public/js/frappe/views/calendar/calendar.js +++ b/frappe/public/js/frappe/views/calendar/calendar.js @@ -25,10 +25,12 @@ frappe.views.CalendarView = class CalendarView extends frappe.views.ListView { } setup_defaults() { - super.setup_defaults(); - this.page_title = __('{0} Calendar', [this.page_title]); - this.calendar_settings = frappe.views.calendar[this.doctype] || {}; - this.calendar_name = frappe.get_route()[3]; + return super.setup_defaults() + .then(() => { + this.page_title = __('{0} Calendar', [this.page_title]); + this.calendar_settings = frappe.views.calendar[this.doctype] || {}; + this.calendar_name = frappe.get_route()[3]; + }); } setup_view() { diff --git a/frappe/public/js/frappe/views/file/file_view.js b/frappe/public/js/frappe/views/file/file_view.js index 79e360b83e..4a37fae166 100644 --- a/frappe/public/js/frappe/views/file/file_view.js +++ b/frappe/public/js/frappe/views/file/file_view.js @@ -40,15 +40,17 @@ frappe.views.FileView = class FileView extends frappe.views.ListView { } setup_defaults() { - super.setup_defaults(); - this.page_title = __('File Manager'); + return super.setup_defaults() + .then(() => { + this.page_title = __('File Manager'); - const route = frappe.get_route(); - this.current_folder = route.slice(2).join('/'); - this.filters = [['File', 'folder', '=', this.current_folder, true]]; - this.order_by = this.view_user_settings.order_by || 'file_name asc'; + const route = frappe.get_route(); + this.current_folder = route.slice(2).join('/'); + this.filters = [['File', 'folder', '=', this.current_folder, true]]; + this.order_by = this.view_user_settings.order_by || 'file_name asc'; - this.menu_items = this.menu_items.concat(this.file_menu_items()); + this.menu_items = this.menu_items.concat(this.file_menu_items()); + }); } file_menu_items() { diff --git a/frappe/public/js/frappe/views/gantt/gantt_view.js b/frappe/public/js/frappe/views/gantt/gantt_view.js index 11cc9683e7..df01c203bb 100644 --- a/frappe/public/js/frappe/views/gantt/gantt_view.js +++ b/frappe/public/js/frappe/views/gantt/gantt_view.js @@ -6,16 +6,18 @@ frappe.views.GanttView = class GanttView extends frappe.views.ListView { } setup_defaults() { - super.setup_defaults(); - this.page_title = this.page_title + ' ' + __('Gantt'); - this.calendar_settings = frappe.views.calendar[this.doctype] || {}; - if(this.calendar_settings.order_by) { - this.sort_by = this.calendar_settings.order_by; - this.sort_order = 'asc'; - } else { - this.sort_by = this.view_user_settings.sort_by || this.calendar_settings.field_map.start; - this.sort_order = this.view_user_settings.sort_order || 'asc'; - } + return super.setup_defaults() + .then(() => { + this.page_title = this.page_title + ' ' + __('Gantt'); + this.calendar_settings = frappe.views.calendar[this.doctype] || {}; + if(this.calendar_settings.order_by) { + this.sort_by = this.calendar_settings.order_by; + this.sort_order = 'asc'; + } else { + this.sort_by = this.view_user_settings.sort_by || this.calendar_settings.field_map.start; + this.sort_order = this.view_user_settings.sort_order || 'asc'; + } + }) } setup_view() { diff --git a/frappe/public/js/frappe/views/image/image_view.js b/frappe/public/js/frappe/views/image/image_view.js index 8d2b4f7599..3c2b5e7ce1 100644 --- a/frappe/public/js/frappe/views/image/image_view.js +++ b/frappe/public/js/frappe/views/image/image_view.js @@ -9,8 +9,10 @@ frappe.views.ImageView = class ImageView extends frappe.views.ListView { } setup_defaults() { - super.setup_defaults(); - this.page_title = this.page_title + ' ' + __('Images'); + return super.setup_defaults() + .then(() => { + this.page_title = this.page_title + ' ' + __('Images'); + }) } setup_view() { diff --git a/frappe/public/js/frappe/views/kanban/kanban_view.js b/frappe/public/js/frappe/views/kanban/kanban_view.js index 30680fedcb..6177ac688a 100644 --- a/frappe/public/js/frappe/views/kanban/kanban_view.js +++ b/frappe/public/js/frappe/views/kanban/kanban_view.js @@ -27,19 +27,21 @@ frappe.views.KanbanView = class KanbanView extends frappe.views.ListView { } setup_defaults() { - super.setup_defaults(); - this.board_name = frappe.get_route()[3]; - this.page_title = this.board_name; - this.card_meta = this.get_card_meta(); + return super.setup_defaults() + .then(() => { + this.board_name = frappe.get_route()[3]; + this.page_title = this.board_name; + this.card_meta = this.get_card_meta(); - this.menu_items.push({ - label: __('Save filters'), - action: () => { - this.save_kanban_board_filters(); - } - }); + this.menu_items.push({ + label: __('Save filters'), + action: () => { + this.save_kanban_board_filters(); + } + }); - return this.get_board(); + return this.get_board(); + }); } get_board() { From 7ca290b2d5cab23458a4e6842ba3a3e784997135 Mon Sep 17 00:00:00 2001 From: Faris Ansari Date: Wed, 27 Mar 2019 15:17:39 +0530 Subject: [PATCH 3/3] fix: Remove time measurement --- .../doctype/dropbox_settings/dropbox_settings.py | 5 ----- 1 file changed, 5 deletions(-) diff --git a/frappe/integrations/doctype/dropbox_settings/dropbox_settings.py b/frappe/integrations/doctype/dropbox_settings/dropbox_settings.py index 92aaf4a96e..f95f300911 100644 --- a/frappe/integrations/doctype/dropbox_settings/dropbox_settings.py +++ b/frappe/integrations/doctype/dropbox_settings/dropbox_settings.py @@ -93,10 +93,6 @@ def send_email(success, service_name, error_status=None): frappe.sendmail(recipients=recipients, subject=subject, message=message) def backup_to_dropbox(upload_db_backup=True): - import time - - start_time = time.time() - if not frappe.db: frappe.connect() @@ -131,7 +127,6 @@ def backup_to_dropbox(upload_db_backup=True): upload_from_folder(get_files_path(), 0, "/files", dropbox_client, did_not_upload, error_log) upload_from_folder(get_files_path(is_private=1), 1, "/private/files", dropbox_client, did_not_upload, error_log) - print(time.time() - start) return did_not_upload, list(set(error_log)) def upload_from_folder(path, is_private, dropbox_folder, dropbox_client, did_not_upload, error_log):