Exemple #1
0
def translate_untranslated_from_google(lang):
	if lang == "en":
		return

	if lang=='zh-cn': lang = 'zh'
	if lang=='zh-tw': lang = 'zh-TW'

	if not get_lang_name(lang):
		print('{0} not supported by Google Translate'.format(lang))
		return

	count = 0
	untranslated = get_untranslated(lang)
	l = len(untranslated)

	for i, d in enumerate(untranslated):
		source, message = d
		if not dataent.db.get_value('Translated Message', {"source": source, "language": lang}):
			t = dataent.new_doc('Translated Message')
			t.language = lang
			t.source = source
			t.translated = get_translation_from_google(lang, message)
			try:
				t.save()
			except dataent.exceptions.ValidationError:
				continue
			count += 1
			dataent.db.commit()

		update_progress_bar("Translating {0}".format(lang), i, l)

	print(lang, count, 'imported')
Exemple #2
0
def execute():
    dataent.reload_doc('core', 'doctype', 'dynamic_link')
    dataent.reload_doc('contacts', 'doctype', 'contact')
    dataent.reload_doc('contacts', 'doctype', 'address')
    map_fields = (('Customer', 'customer'), ('Supplier', 'supplier'),
                  ('Lead', 'lead'), ('Sales Partner', 'sales_partner'))
    for doctype in ('Contact', 'Address'):
        if dataent.db.has_column(doctype, 'customer'):
            items = dataent.get_all(doctype)
            for i, doc in enumerate(items):
                doc = dataent.get_doc(doctype, doc.name)
                dirty = False
                for field in map_fields:
                    if doc.get(field[1]):
                        doc.append(
                            'links',
                            dict(link_doctype=field[0],
                                 link_name=doc.get(field[1])))
                        dirty = True

                    if dirty:
                        deduplicate_dynamic_links(doc)
                        doc.update_children()

                    update_progress_bar('Updating {0}'.format(doctype), i,
                                        len(items))
            print
def execute():
    dataent.cache().delete_value('doctypes_with_global_search')
    doctypes_with_global_search = get_doctypes_with_global_search(
        with_child_tables=False)

    for i, doctype in enumerate(doctypes_with_global_search):
        update_progress_bar("Updating Global Search", i,
                            len(doctypes_with_global_search))
        rebuild_for_doctype(doctype)
Exemple #4
0
def copy_translations(from_lang, to_lang):
	translations = dataent.db.sql("""select source, translated from `tabTranslated Message` where language=%s""", (from_lang, ))
	l = len(translations)
	for i, d in enumerate(translations):
		source, translated = d
		if not dataent.db.get_value('Translated Message', {"source": source, "language": to_lang}):
			t = dataent.new_doc('Translated Message')
			t.language = to_lang
			t.source = source
			t.translated = translated
			try:
				t.save()
			except dataent.ValidationError:
				pass

		update_progress_bar("Copying {0} to {1}".format(from_lang, to_lang), i, l)
Exemple #5
0
def import_country_and_currency():
    from dataent.geo.country_info import get_all
    from dataent.utils import update_progress_bar

    data = get_all()

    for i, name in enumerate(data):
        update_progress_bar("Updating country info", i, len(data))
        country = dataent._dict(data[name])
        add_country_and_currency(name, country)

    print("")

    # enable frequently used currencies
    for currency in ("INR", "USD", "GBP", "EUR", "AED", "AUD", "JPY", "CNY",
                     "CHF"):
        dataent.db.set_value("Currency", currency, "enabled", 1)
Exemple #6
0
def rebuild_global_search(context):
    '''Setup help table in the current site (called after migrate)'''
    from dataent.utils.global_search import (get_doctypes_with_global_search,
                                             rebuild_for_doctype)

    for site in context.sites:
        try:
            dataent.init(site)
            dataent.connect()
            doctypes = get_doctypes_with_global_search()
            for i, doctype in enumerate(doctypes):
                rebuild_for_doctype(doctype)
                update_progress_bar('Rebuilding Global Search', i,
                                    len(doctypes))

        finally:
            dataent.destroy()
Exemple #7
0
def sync_for(app_name, force=0, sync_everything = False, verbose=False, reset_permissions=False):
	files = []

	if app_name == "dataent":
		# these need to go first at time of install
		for d in (("core", "docfield"),
			("core", "docperm"),
			("core", "has_role"),
			("core", "doctype"),
			("core", "user"),
			("core", "role"),
			("custom", "custom_field"),
			("custom", "property_setter"),
			("website", "web_form"),
			("website", "web_form_field"),
			("website", "portal_menu_item"),
			("data_migration", "data_migration_mapping_detail"),
			("data_migration", "data_migration_mapping"),
			("data_migration", "data_migration_plan_mapping"),
			("data_migration", "data_migration_plan")):
			files.append(os.path.join(dataent.get_app_path("dataent"), d[0],
				"doctype", d[1], d[1] + ".json"))

	for module_name in dataent.local.app_modules.get(app_name) or []:
		folder = os.path.dirname(dataent.get_module(app_name + "." + module_name).__file__)
		get_doc_files(files, folder, force, sync_everything, verbose=verbose)

	l = len(files)
	if l:
		for i, doc_path in enumerate(files):
			import_file_by_path(doc_path, force=force, ignore_version=True,
				reset_permissions=reset_permissions, for_sync=True)
			#print module_name + ' | ' + doctype + ' | ' + name

			dataent.db.commit()

			# show progress bar
			update_progress_bar("Updating DocTypes for {0}".format(app_name), i, l)

		# print each progress bar on new line
		print()