add cached_property fallback for python < 3.8 compatability
authorJacob Lifshay <programmerjake@gmail.com>
Fri, 26 Nov 2021 17:46:09 +0000 (09:46 -0800)
committerJacob Lifshay <programmerjake@gmail.com>
Fri, 26 Nov 2021 17:46:09 +0000 (09:46 -0800)
setup.py
src/budget_sync/budget_graph.py
src/budget_sync/config.py
src/budget_sync/test/mock_path.py

index 72ed1ac6306aaba4d764e2fb907c8e883d792815..6b1f25a7df3bc330cf97e89dc7d776c8a8e650c2 100644 (file)
--- a/setup.py
+++ b/setup.py
@@ -3,6 +3,7 @@ from setuptools import setup, find_packages
 install_requires = [
     "python-bugzilla",
     "toml",
+    "cached-property",
 ]
 
 setup(
index 2bfa27d2a123b8315935870cff6c83a7201c3c69..483f36ec2db89bc9e6fa3e0b9a02668f374b17e6 100644 (file)
@@ -4,12 +4,16 @@ from typing import Callable, Set, Dict, Iterable, Optional, List, Tuple, Union,
 from budget_sync.util import BugStatus, PrettyPrinter
 from budget_sync.money import Money
 from budget_sync.config import Config, Person, Milestone
-from functools import cached_property
 import toml
 import sys
 import enum
 from collections import deque
 from datetime import date, time, datetime
+try:
+    from functools import cached_property
+except ImportError:
+    # compatability with python < 3.8
+    from cached_property import cached_property
 
 
 class BudgetGraphBaseError(Exception):
index af7db98f4694a959dc88e742b0fe4a27e8b0d322..5c9973da65cc05d7b11a83a779cd6bbb0fe4101f 100644 (file)
@@ -3,7 +3,11 @@ from budget_sync.util import PrettyPrinter
 import toml
 import sys
 from typing import Mapping, Set, Dict, Any, Optional
-from functools import cached_property
+try:
+    from functools import cached_property
+except ImportError:
+    # compatability with python < 3.8
+    from cached_property import cached_property
 
 
 class ConfigParseError(Exception):
index 33a71310832ae12cc013eeac494b96514fc45937..3fbe7ccb48abf93f0e002603b4d35bc31e5a40d3 100644 (file)
@@ -4,7 +4,11 @@ from os import PathLike
 from posixpath import normpath
 from enum import Enum
 import errno
-from functools import cached_property
+try:
+    from functools import cached_property
+except ImportError:
+    # compatability with python < 3.8
+    from cached_property import cached_property
 
 
 class MockDir(Enum):