Example #1
0
def import_file_by_path(path, ignore_links=False, overwrite=False, submit=False, pre_process=None):
	from frappe.utils.csvutils import read_csv_content
	from frappe.core.page.data_import_tool.importer import upload
	print "Importing " + path
	with open(path, "r") as infile:
		upload(rows = read_csv_content(infile.read()), ignore_links=ignore_links, overwrite=overwrite,
            submit_after_import=submit, pre_process=pre_process)
Example #2
0
	def test_import_only_children(self):
		user_email = "*****@*****.**"
		if frappe.db.exists("User", user_email):
			frappe.delete_doc("User", user_email)

		frappe.get_doc({"doctype": "User", "email": user_email, "first_name": "Test Import UserRole"}).insert()

		exporter.get_template("UserRole", "User", all_doctypes="No", with_data="No")
		content = read_csv_content(frappe.response.result)
		content.append(["", "*****@*****.**", "Blogger"])
		importer.upload(content)

		user = frappe.get_doc("User", user_email)
		self.assertEquals(len(user.get("user_roles")), 1)
		self.assertTrue(user.get("user_roles")[0].role, "Blogger")

		# overwrite
		exporter.get_template("UserRole", "User", all_doctypes="No", with_data="No")
		content = read_csv_content(frappe.response.result)
		content.append(["", "*****@*****.**", "Website Manager"])
		importer.upload(content, overwrite=True)

		user = frappe.get_doc("User", user_email)
		self.assertEquals(len(user.get("user_roles")), 1)
		self.assertTrue(user.get("user_roles")[0].role, "Website Manager")
Example #3
0
def import_csv(context, path, only_insert=False, submit_after_import=False, ignore_encoding_errors=False, no_email=True):
	"Import CSV using data import tool"
	from frappe.core.page.data_import_tool import importer
	from frappe.utils.csvutils import read_csv_content
	site = get_site(context)

	if not os.path.exists(path):
		path = os.path.join('..', path)
	if not os.path.exists(path):
		print('Invalid path {0}'.format(path))
		sys.exit(1)

	with open(path, 'r') as csvfile:
		content = read_csv_content(csvfile.read())

	frappe.init(site=site)
	frappe.connect()

	try:
		importer.upload(content, submit_after_import=submit_after_import, no_email=no_email,
			ignore_encoding_errors=ignore_encoding_errors, overwrite=not only_insert,
			via_console=True)
		frappe.db.commit()
	except Exception:
		print(frappe.get_traceback())

	frappe.destroy()
Example #4
0
def import_csv(context, path, only_insert=False, submit_after_import=False, ignore_encoding_errors=False):
    "Import CSV using data import tool"
    from frappe.core.page.data_import_tool import importer
    from frappe.utils.csvutils import read_csv_content

    site = get_site(context)

    with open(path, "r") as csvfile:
        content = read_csv_content(csvfile.read())

    frappe.init(site=site)
    frappe.connect()

    try:
        importer.upload(
            content,
            submit_after_import=submit_after_import,
            ignore_encoding_errors=ignore_encoding_errors,
            overwrite=not only_insert,
            via_console=True,
        )
        frappe.db.commit()
    except Exception:
        print frappe.get_traceback()

    frappe.destroy()
Example #5
0
	def test_excel_import(self):
		if frappe.db.exists("Event", "EV00001"):
			frappe.delete_doc("Event", "EV00001")

		exporter.get_template("Event", all_doctypes="No", with_data="No", from_data_import="Yes", excel_format="Yes")
		from frappe.utils.xlsxutils import read_xlsx_file_from_attached_file
		content = read_xlsx_file_from_attached_file(fcontent=frappe.response.filecontent)
		content.append(["", "EV00001", "_test", "Private", "05-11-2017 13:51:48", "0", "0", "", "1", "blue"])
		importer.upload(content)
		self.assertTrue(frappe.db.get_value("Event", "EV00001", "subject"), "_test")
Example #6
0
	def test_import_with_children(self):
		exporter.get_template("Event", all_doctypes="Yes", with_data="No")
		content = read_csv_content(frappe.response.result)

		content.append([None] * len(content[-2]))
		content[-1][2] = "__Test Event with children"
		content[-1][3] = "Private"
		content[-1][4] = "2014-01-01 10:00:00.000000"
		importer.upload(content)

		ev = frappe.get_doc("Event", {"subject":"__Test Event with children"})
Example #7
0
	def test_import_with_children(self):
		exporter.get_template("Event", all_doctypes="Yes", with_data="No")
		content = read_csv_content(frappe.response.result)
		content.append([None] * len(content[-2]))
		content[-1][2] = "__Test Event"
		content[-1][3] = "Private"
		content[-1][4] = "2014-01-01 10:00:00.000000"
		content[-1][content[15].index("person")] = "Administrator"
		importer.upload(content)

		ev = frappe.get_doc("Event", {"subject":"__Test Event"})
		self.assertTrue("Administrator" in [d.person for d in ev.event_individuals])
Example #8
0
	def test_import_with_children(self):
		exporter.get_template("Event", all_doctypes="Yes", with_data="No")
		content = read_csv_content(frappe.response.result)

		content.append([None] * len(content[-2]))
		content[-1][2] = "__Test Event with children"
		content[-1][3] = "Private"
		content[-1][4] = "2014-01-01 10:00:00.000000"
		content[-1][content[15].index("role")] = "System Manager"
		importer.upload(content)

		ev = frappe.get_doc("Event", {"subject":"__Test Event with children"})
		self.assertTrue("System Manager" in [d.role for d in ev.roles])
Example #9
0
	def test_import(self):
		if frappe.db.exists("Blog Category", "test-category"):
			frappe.delete_doc("Blog Category", "test-category")

		exporter.get_template("Blog Category", all_doctypes="No", with_data="No")
		content = read_csv_content(frappe.response.result)
		content.append(["", "", "test-category", "Test Cateogry"])
		importer.upload(content)
		self.assertTrue(frappe.db.get_value("Blog Category", "test-category", "title"), "Test Category")

		# export with data
		exporter.get_template("Blog Category", all_doctypes="No", with_data="Yes")
		content = read_csv_content(frappe.response.result)

		# overwrite
		content[-1][3] = "New Title"
		importer.upload(content, overwrite=True)
		self.assertTrue(frappe.db.get_value("Blog Category", "test-category", "title"), "New Title")
Example #10
0
	def test_import(self):
		if frappe.db.exists("Blog Category", "test-category"):
			frappe.delete_doc("Blog Category", "test-category")

		exporter.get_template("Blog Category", all_doctypes="No", with_data="No")
		content = read_csv_content(frappe.response.result)
		content.append(["", "", "test-category", "Test Cateogry"])
		importer.upload(content)
		self.assertTrue(frappe.db.get_value("Blog Category", "test-category", "title"), "Test Category")

		# export with data
		exporter.get_template("Blog Category", all_doctypes="No", with_data="Yes")
		content = read_csv_content(frappe.response.result)

		# overwrite
		content[-1][3] = "New Title"
		importer.upload(content, overwrite=True)
		self.assertTrue(frappe.db.get_value("Blog Category", "test-category", "title"), "New Title")
    def test_excel_import(self):
        if frappe.db.exists("Event", "EV00001"):
            frappe.delete_doc("Event", "EV00001")

        exporter.get_template("Event",
                              all_doctypes="No",
                              with_data="No",
                              from_data_import="Yes",
                              excel_format="Yes")
        from frappe.utils.xlsxutils import read_xlsx_file_from_attached_file
        content = read_xlsx_file_from_attached_file(
            fcontent=frappe.response.filecontent)
        content.append([
            "", "EV00001", "_test", "Private", "05-11-2017 13:51:48", "0", "0",
            "", "1", "blue"
        ])
        importer.upload(content)
        self.assertTrue(frappe.db.get_value("Event", "EV00001", "subject"),
                        "_test")
    def test_import_only_children(self):
        user_email = "*****@*****.**"
        if frappe.db.exists("User", user_email):
            frappe.delete_doc("User", user_email)

        frappe.get_doc({
            "doctype": "User",
            "email": user_email,
            "first_name": "Test Import UserRole"
        }).insert()

        exporter.get_template("Has Role",
                              "User",
                              all_doctypes="No",
                              with_data="No")
        content = read_csv_content(frappe.response.result)
        content.append(["", "*****@*****.**", "Blogger"])
        importer.upload(content)

        user = frappe.get_doc("User", user_email)
        self.assertTrue(
            frappe.db.get_value("Has Role",
                                filters={
                                    "role": "Blogger",
                                    "parent": user_email,
                                    "parenttype": "User"
                                }))
        self.assertTrue(user.get("roles")[0].role, "Blogger")

        # overwrite
        exporter.get_template("Has Role",
                              "User",
                              all_doctypes="No",
                              with_data="No")
        content = read_csv_content(frappe.response.result)
        content.append(
            ["", "*****@*****.**", "Website Manager"])
        importer.upload(content, overwrite=True)

        user = frappe.get_doc("User", user_email)
        self.assertEquals(len(user.get("roles")), 1)
        self.assertTrue(user.get("roles")[0].role, "Website Manager")
Example #13
0
def import_csv(context, path, only_insert=False, submit_after_import=False, ignore_encoding_errors=False):
	"Import CSV using data import tool"
	from frappe.core.page.data_import_tool import importer
	from frappe.utils.csvutils import read_csv_content
	site = get_single_site(context)

	with open(path, 'r') as csvfile:
		content = read_csv_content(csvfile.read())

	frappe.init(site=site)
	frappe.connect()

	try:
		importer.upload(content, submit_after_import=submit_after_import,
			ignore_encoding_errors=ignore_encoding_errors, overwrite=not only_insert,
			via_console=True)
		frappe.db.commit()
	except Exception:
		print frappe.get_traceback()

	frappe.destroy()
Example #14
0
def import_file_by_path(path, ignore_links=False, overwrite=False, submit=False):
	from frappe.utils.datautils import read_csv_content
	from frappe.core.page.data_import_tool.importer import upload
	print "Importing " + path
	with open(path, "r") as infile:
		upload(rows = read_csv_content(infile.read()), ignore_links=ignore_links, overwrite=overwrite, submit_after_import=submit)