diff --git a/frappe/database/database.py b/frappe/database/database.py index 1bba2c871e..6dd3306b18 100644 --- a/frappe/database/database.py +++ b/frappe/database/database.py @@ -9,7 +9,6 @@ import string import traceback from contextlib import contextmanager from time import time -from types import NoneType from typing import Dict, List, Optional, Tuple, Union from pypika.terms import Criterion, NullValue, PseudoColumn diff --git a/frappe/database/utils.py b/frappe/database/utils.py index 47a5222ede..0edbc07f1d 100644 --- a/frappe/database/utils.py +++ b/frappe/database/utils.py @@ -2,7 +2,11 @@ # License: MIT. See LICENSE from functools import cached_property -from types import NoneType + +try: + from types import NoneType +except ImportError: + NoneType = type(None) from typing import Dict, List, Tuple, Union import frappe diff --git a/frappe/model/rename_doc.py b/frappe/model/rename_doc.py index 25e471d4b0..652703aed5 100644 --- a/frappe/model/rename_doc.py +++ b/frappe/model/rename_doc.py @@ -1,5 +1,9 @@ # Copyright (c) 2022, Frappe Technologies Pvt. Ltd. and Contributors # License: MIT. See LICENSE +try: + from types import NoneType +except ImportError: + NoneType = type(None) from typing import TYPE_CHECKING, Dict, List, Optional import frappe @@ -46,7 +50,7 @@ def update_document_title( # TODO: omit this after runtime type checking (ref: https://github.com/frappe/frappe/pull/14927) for obj in [docname, updated_title, updated_name]: - if not isinstance(obj, (str, type(None))): + if not isinstance(obj, (str, NoneType)): frappe.throw(f"{obj=} must be of type str or None") # handle bad API usages