diff --git a/frappe/core/doctype/language/language.py b/frappe/core/doctype/language/language.py index f108dd5749..83d68acb36 100644 --- a/frappe/core/doctype/language/language.py +++ b/frappe/core/doctype/language/language.py @@ -38,4 +38,4 @@ def update_language_names(): data = json.loads(f.read()) for l in data: - frappe.db.set_value('Language', l['code'], 'language_name', l['name']) + frappe.db.set_value('Language', l['code'], 'language_name', l['name']) \ No newline at end of file diff --git a/frappe/utils/data.py b/frappe/utils/data.py index e0bbdff847..769eff5330 100644 --- a/frappe/utils/data.py +++ b/frappe/utils/data.py @@ -8,6 +8,7 @@ import frappe import operator import re, urllib, datetime, math import babel.dates +from babel.core import UnknownLocaleError from dateutil import parser from num2words import num2words import HTMLParser @@ -214,10 +215,18 @@ def formatdate(string_date=None, format_string=None): if not format_string: format_string = get_user_format().replace("mm", "MM") - return babel.dates.format_date(date, format_string, locale=(frappe.local.lang or "").replace("-", "_")) + try: + formatted_date = babel.dates.format_date(date, format_string, locale=(frappe.local.lang or "").replace("-", "_")) + except UnknownLocaleError: + formatted_date = date.strftime("%Y-%m-%d") + return formatted_date def format_time(txt): - return babel.dates.format_time(get_time(txt), locale=(frappe.local.lang or "").replace("-", "_")) + try: + formatted_time = babel.dates.format_time(get_time(txt), locale=(frappe.local.lang or "").replace("-", "_")) + except UnknownLocaleError: + formatted_time = get_time(txt).strftime("%H:%M:%S") + return formatted_time def format_datetime(datetime_string, format_string=None): if not datetime_string: @@ -227,7 +236,11 @@ def format_datetime(datetime_string, format_string=None): if not format_string: format_string = get_user_format().replace("mm", "MM") + " HH:mm:ss" - return babel.dates.format_datetime(datetime, format_string, locale=(frappe.local.lang or "").replace("-", "_")) + try: + formatted_datetime = babel.dates.format_datetime(datetime, format_string, locale=(frappe.local.lang or "").replace("-", "_")) + except UnknownLocaleError: + formatted_datetime = datetime.strftime('%Y-%m-%d %H:%M:%S') + return formatted_datetime def global_date_format(date): """returns date as 1 January 2012"""