From 1ff0dba153d737d0c437eb16df1df5d4895b484e Mon Sep 17 00:00:00 2001 From: 81552433qqcom <81552433@qq.com> Date: Mon, 15 Sep 2014 16:21:43 +0800 Subject: [PATCH] fixed exporters according to suggestion. --- .../page/data_import_tool/data_import_tool.py | 16 +++++++++------- frappe/core/page/data_import_tool/exporter.py | 16 +++++++++------- frappe/core/page/data_import_tool/importer.py | 17 ++++++++++------- 3 files changed, 28 insertions(+), 21 deletions(-) diff --git a/frappe/core/page/data_import_tool/data_import_tool.py b/frappe/core/page/data_import_tool/data_import_tool.py index 8e06570882..21e1156d46 100644 --- a/frappe/core/page/data_import_tool/data_import_tool.py +++ b/frappe/core/page/data_import_tool/data_import_tool.py @@ -7,13 +7,15 @@ import frappe, json, os from frappe import _ import frappe.modules.import_file -data_keys = frappe._dict({ - "data_separator": _('Start entering data below this line'), - "main_table": "Table:", - "parent_table": "Parent Table:", - "columns": _("Column Name:"), - "doctype": "DocType:" -}) +@frappe.whitelist() +def get_data_keys(): + return frappe._dict({ + "data_separator": _('Start entering data below this line'), + "main_table": _("Table") + ":", + "parent_table": _("Parent Table") + ":", + "columns": _("Column Name") + ":", + "doctype": _("DocType") + ":" + }) @frappe.whitelist() def get_doctypes(): diff --git a/frappe/core/page/data_import_tool/exporter.py b/frappe/core/page/data_import_tool/exporter.py index 04043726f8..47dc531e0d 100644 --- a/frappe/core/page/data_import_tool/exporter.py +++ b/frappe/core/page/data_import_tool/exporter.py @@ -9,8 +9,6 @@ import frappe.permissions from frappe.utils.csvutils import UnicodeWriter from frappe.utils import cstr, cint, flt -from frappe.core.page.data_import_tool.data_import_tool import data_keys - @frappe.whitelist() def get_template(doctype=None, parent_doctype=None, all_doctypes="No", with_data="No"): all_doctypes = all_doctypes=="Yes" @@ -26,12 +24,16 @@ def get_template(doctype=None, parent_doctype=None, all_doctypes="No", with_data child_doctypes.append(df.options) doctype_parentfield[df.options] = df.fieldname + def get_data_keys_definition(): + from frappe.core.page.data_import_tool.data_import_tool import get_data_keys + return get_data_keys() + def add_main_header(): w.writerow([_('Data Import Template')]) - w.writerow([data_keys.main_table, doctype]) + w.writerow([get_data_keys_definition().main_table, doctype]) if parent_doctype != doctype: - w.writerow([data_keys.parent_table, parent_doctype]) + w.writerow([get_data_keys_definition().parent_table, parent_doctype]) else: w.writerow(['']) @@ -129,7 +131,7 @@ def get_template(doctype=None, parent_doctype=None, all_doctypes="No", with_data w.writerow(mandatoryrow) w.writerow(typerow) w.writerow(inforow) - w.writerow([data_keys.data_separator]) + w.writerow([get_data_keys_definition().data_separator]) def add_data(): def add_data_row(row_group, dt, doc, rowidx): @@ -170,9 +172,9 @@ def get_template(doctype=None, parent_doctype=None, all_doctypes="No", with_data add_main_header() w.writerow(['']) - tablerow = [data_keys.doctype, ""] + tablerow = [get_data_keys_definition().doctype, ""] labelrow = [_("Column Labels:"), "ID"] - fieldrow = [data_keys.columns, key] + fieldrow = [get_data_keys_definition().columns, key] mandatoryrow = [_("Mandatory:"), _("Yes")] typerow = [_('Type:'), 'Data (text)'] inforow = [_('Info:'), ''] diff --git a/frappe/core/page/data_import_tool/importer.py b/frappe/core/page/data_import_tool/importer.py index 1b2c863e64..1f5d4c7afe 100644 --- a/frappe/core/page/data_import_tool/importer.py +++ b/frappe/core/page/data_import_tool/importer.py @@ -12,7 +12,6 @@ from frappe.utils.csvutils import getlink from frappe.utils.dateutils import parse_date from frappe.utils import cint, cstr, flt -from frappe.core.page.data_import_tool.data_import_tool import data_keys @frappe.whitelist() @@ -29,8 +28,12 @@ def upload(rows = None, submit_after_import=None, ignore_encoding_errors=False, from frappe.utils.csvutils import read_csv_content_from_uploaded_file + def get_data_keys_definition(): + from frappe.core.page.data_import_tool.data_import_tool import get_data_keys + return get_data_keys() + def bad_template(): - frappe.throw(_("Please do not change the rows above {0}").format(data_keys.data_separator)) + frappe.throw(_("Please do not change the rows above {0}").format(get_data_keys_definition().data_separator)) def check_data_length(): max_rows = 5000 @@ -41,7 +44,7 @@ def upload(rows = None, submit_after_import=None, ignore_encoding_errors=False, def get_start_row(): for i, row in enumerate(rows): - if row and row[0]==data_keys.data_separator: + if row and row[0]==get_data_keys_definition().data_separator: return i+1 bad_template() @@ -68,7 +71,7 @@ def upload(rows = None, submit_after_import=None, ignore_encoding_errors=False, return columns def make_column_map(): - doctype_row, row_idx = get_header_row_and_idx(data_keys.doctype) + doctype_row, row_idx = get_header_row_and_idx(get_data_keys_definition().doctype) if row_idx == -1: # old style return @@ -142,8 +145,8 @@ def upload(rows = None, submit_after_import=None, ignore_encoding_errors=False, start_row = get_start_row() header = rows[:start_row] data = rows[start_row:] - doctype = get_header_row(data_keys.main_table)[1] - columns = filter_empty_columns(get_header_row(data_keys.columns)[1:]) + doctype = get_header_row(get_data_keys_definition().main_table)[1] + columns = filter_empty_columns(get_header_row(get_data_keys_definition().columns)[1:]) doctypes = [] doctype_parentfield = {} column_idx_to_fieldname = {} @@ -153,7 +156,7 @@ def upload(rows = None, submit_after_import=None, ignore_encoding_errors=False, doctype, "is_submittable")): submit_after_import = False - parenttype = get_header_row(data_keys.parent_table) + parenttype = get_header_row(get_data_keys_definition().parent_table) if len(parenttype) > 1: parenttype = parenttype[1]