def import_source_messages(): """Import messagse from apps listed in **Translator App** as **Source Message**""" frappe.db.sql("update `tabSource Message` set disabled=1") for app in frappe.db.sql_list("select name from `tabTranslator App`"): app_version = frappe.get_hooks(app_name='frappe')['app_version'][0] messages = get_messages_for_app(app) for message in messages: source_message = frappe.db.get_value( "Source Message", {"message": message[1]}, ["name", "message", "position", "app_version"], as_dict=True) if source_message: d = frappe.get_doc("Source Message", source_message['name']) if source_message["position"] != message[0] or source_message[ "app_version"] != app_version: d.app_version = app_version d.position = message[0] d.app = app d.disabled = 0 else: d = frappe.new_doc("Source Message") d.position = message[0] d.message = message[1] d.app = app d.app_version = app_version d.save()
def import_source_messages(): frappe.db.sql("update `tabSource Message` set disabled=1") for app in frappe.db.sql_list("select name from `tabTranslator App`"): app_version = frappe.get_hooks(app_name='frappe')['app_version'][0] messages = get_messages_for_app(app) for message in messages: source_message = frappe.db.get_value("Source Message", {"message": message[1]}, ["name", "message", "position", "app_version"], as_dict=True) if source_message: d = frappe.get_doc("Source Message", source_message['name']) if source_message["position"] != message[0] or source_message["app_version"] != app_version: d.app_version = app_version d.position = message[0] d.disabled = 0 else: d = frappe.new_doc("Source Message") d.position = message[0] d.message = message[1] d.app = app d.app_version = app_version d.save()
def get_formatted_messages(): message_map = frappe._dict({}) for app in get_apps_to_be_translated(): messages = get_messages_for_app(app, False) # messages structure # [(position, source_text_1, context, line_no), (position, source_text_2)] for message_data in messages: position = message_data[0] message = message_data[1] context = message_data[2] or '' if len(message_data) > 2 else '' line_no = message_data[3] or 0 if len(message_data) == 4 else 0 position_dict = frappe._dict({ 'position': position, 'line_no': line_no, 'app': app, 'app_version': frappe.get_hooks(app_name=app).get('app_version', [''])[0] }) if not message_map.get((message, context)): message_map[(message, context)] = [position_dict] else: message_map[(message, context)].append(position_dict) return message_map