From 090d1c8c84c4b6859d60e38fe2d46388f4c5fd9e Mon Sep 17 00:00:00 2001 From: grossmj Date: Sat, 12 Aug 2023 19:04:14 +1000 Subject: [PATCH] Only use platformdirs with Python >= '3.7' --- gns3server/controller/appliance_manager.py | 11 ++++++++--- requirements.txt | 2 +- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/gns3server/controller/appliance_manager.py b/gns3server/controller/appliance_manager.py index d6878d71..53daed1b 100644 --- a/gns3server/controller/appliance_manager.py +++ b/gns3server/controller/appliance_manager.py @@ -21,7 +21,6 @@ import uuid import asyncio import aiohttp import shutil -import platformdirs try: @@ -87,8 +86,14 @@ class ApplianceManager: Get the built-in appliance storage directory """ - appname = vendor = "GNS3" - appliances_dir = os.path.join(platformdirs.user_data_dir(appname, vendor, roaming=True), "appliances") + try: + import platformdirs + appname = vendor = "GNS3" + appliances_dir = os.path.join(platformdirs.user_data_dir(appname, vendor, roaming=True), "appliances") + except ImportError: + # platformdirs is not available on Python 3.6, use the old method + config = Config.instance() + appliances_dir = os.path.join(config.config_dir, "appliances") if delete_first: shutil.rmtree(appliances_dir, ignore_errors=True) os.makedirs(appliances_dir, exist_ok=True) diff --git a/requirements.txt b/requirements.txt index 392d35df..67b604f2 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,7 +11,7 @@ psutil==5.9.5 async-timeout>=4.0.2,<4.1 distro>=1.8.0 py-cpuinfo>=9.0.0,<10.0 -platformdirs>=3.10.0 +platformdirs>=3.10.0; python_version >= '3.7' importlib-resources>=1.3; python_version <= '3.9' truststore>=0.7.0; python_version >= '3.10' setuptools>=60.8.1; python_version >= '3.7'