fixed exporters according to suggestion.

This commit is contained in:
81552433qqcom 2014-09-15 16:21:43 +08:00
parent f7bf7224e4
commit 1ff0dba153
3 changed files with 28 additions and 21 deletions

View file

@ -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():

View file

@ -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:'), '']

View file

@ -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]