From c795a70897effb73a9c73c2856b4b78ac3e12ae1 Mon Sep 17 00:00:00 2001 From: Joseph Marie Alba Date: Sun, 16 May 2021 05:52:05 +0800 Subject: [PATCH] Python 3 issue in re Python 3 interprets string literals as Unicode strings, and therefore \d is treated as an escaped Unicode character. Declare RegEx pattern as a raw string instead by prepending r or double escape \d --- frappe/model/naming.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/model/naming.py b/frappe/model/naming.py index 359b8e2367..b8d6a6f8d7 100644 --- a/frappe/model/naming.py +++ b/frappe/model/naming.py @@ -283,7 +283,7 @@ def append_number_if_name_exists(doctype, value, fieldname="name", separator="-" filters.update({fieldname: value}) exists = frappe.db.exists(doctype, filters) - regex = "^{value}{separator}\d+$".format(value=re.escape(value), separator=separator) + regex = "^{value}{separator}\\d+$".format(value=re.escape(value), separator=separator) if exists: last = frappe.db.sql("""SELECT `{fieldname}` FROM `tab{doctype}`