From e44eda1ab4140808d627689e8721c9e2621c8ef4 Mon Sep 17 00:00:00 2001 From: Filipe Fernandes Date: Thu, 11 Apr 2024 14:39:31 +0200 Subject: [PATCH] py38 compat --- compliance_checker/cf/util.py | 7 ++----- compliance_checker/cfutil.py | 4 ++-- compliance_checker/tests/conftest.py | 6 ++---- compliance_checker/tests/resources.py | 5 +++-- compliance_checker/tests/test_suite.py | 25 +++++++++---------------- requirements.txt | 1 + 6 files changed, 19 insertions(+), 29 deletions(-) diff --git a/compliance_checker/cf/util.py b/compliance_checker/cf/util.py index 64a21c1a..6f100653 100644 --- a/compliance_checker/cf/util.py +++ b/compliance_checker/cf/util.py @@ -1,4 +1,3 @@ -import importlib.resources import itertools import os import sys @@ -6,6 +5,7 @@ import requests from cf_units import Unit +from importlib_resources import files from lxml import etree from netCDF4 import Dataset @@ -284,10 +284,7 @@ def download_cf_standard_name_table(version, location=None): if ( location is None ): # This case occurs when updating the packaged version from command line - location = ( - importlib.resources.files("compliance_checker") - / "data/cf-standard-name-table.xml" - ) + location = files("compliance_checker") / "data/cf-standard-name-table.xml" if version == "latest": url = "http://cfconventions.org/Data/cf-standard-names/current/src/cf-standard-name-table.xml" diff --git a/compliance_checker/cfutil.py b/compliance_checker/cfutil.py index 22195a22..245c6fd3 100644 --- a/compliance_checker/cfutil.py +++ b/compliance_checker/cfutil.py @@ -3,13 +3,13 @@ compliance_checker/cfutil.py """ import csv -import importlib.resources import re import warnings from collections import defaultdict from functools import lru_cache, partial from cf_units import Unit +from importlib_resources import files _UNITLESS_DB = None _SEA_NAMES = None @@ -128,7 +128,7 @@ def get_sea_names(): if _SEA_NAMES is None: buf = {} with open( - importlib.resources.files("compliance_checker") / "data/seanames.csv", + files("compliance_checker") / "data/seanames.csv", ) as f: reader = csv.reader(f) for code, sea_name in reader: diff --git a/compliance_checker/tests/conftest.py b/compliance_checker/tests/conftest.py index f4002bc5..2c662c16 100644 --- a/compliance_checker/tests/conftest.py +++ b/compliance_checker/tests/conftest.py @@ -1,9 +1,9 @@ -import importlib.resources import os import subprocess from itertools import chain import pytest +from importlib_resources import files from netCDF4 import Dataset from compliance_checker.cf import util @@ -26,9 +26,7 @@ def static_files(cdl_stem): Returns the Path to a valid nc dataset\n replaces the old STATIC_FILES dict """ - datadir = ( - importlib.resources.files("compliance_checker").joinpath("tests/data").resolve() - ) + datadir = files("compliance_checker").joinpath("tests/data").resolve() assert datadir.exists(), f"{datadir} not found" cdl_paths = glob_down(datadir, f"{cdl_stem}.cdl", 3) diff --git a/compliance_checker/tests/resources.py b/compliance_checker/tests/resources.py index 67786179..7bbca9d6 100644 --- a/compliance_checker/tests/resources.py +++ b/compliance_checker/tests/resources.py @@ -1,12 +1,13 @@ -import importlib.resources import subprocess +from importlib_resources import files + def get_filename(path): """ Returns the path to a valid dataset """ - filename = importlib.resources.files("compliance_checker") / path + filename = files("compliance_checker") / path nc_path = filename.with_suffix(".nc") if not nc_path.exists(): generate_dataset(filename, nc_path) diff --git a/compliance_checker/tests/test_suite.py b/compliance_checker/tests/test_suite.py index 0bbbc44d..8c8987df 100644 --- a/compliance_checker/tests/test_suite.py +++ b/compliance_checker/tests/test_suite.py @@ -1,30 +1,23 @@ -import importlib.resources import os import unittest from pathlib import Path import numpy as np +from importlib_resources import files from compliance_checker.acdd import ACDDBaseCheck from compliance_checker.base import BaseCheck, GenericFile, Result from compliance_checker.suite import CheckSuite static_files = { - "2dim": importlib.resources.files("compliance_checker") / "tests/data/2dim-grid.nc", - "bad_region": importlib.resources.files("compliance_checker") - / "tests/data/bad_region.nc", - "bad_data_type": importlib.resources.files("compliance_checker") - / "tests/data/bad_data_type.nc", - "test_cdl": importlib.resources.files("compliance_checker") - / "tests/data/test_cdl.cdl", - "test_cdl_nc": importlib.resources.files("compliance_checker") - / "tests/data/test_cdl_nc_file.nc", - "empty": importlib.resources.files("compliance_checker") - / "tests/data/non-comp/empty.file", - "ru07": importlib.resources.files("compliance_checker") - / "tests/data/ru07-20130824T170228_rt0.nc", - "netCDF4": importlib.resources.files("compliance_checker") - / "tests/data/test_cdl_nc4_file.cdl", + "2dim": files("compliance_checker") / "tests/data/2dim-grid.nc", + "bad_region": files("compliance_checker") / "tests/data/bad_region.nc", + "bad_data_type": files("compliance_checker") / "tests/data/bad_data_type.nc", + "test_cdl": files("compliance_checker") / "tests/data/test_cdl.cdl", + "test_cdl_nc": files("compliance_checker") / "tests/data/test_cdl_nc_file.nc", + "empty": files("compliance_checker") / "tests/data/non-comp/empty.file", + "ru07": files("compliance_checker") / "tests/data/ru07-20130824T170228_rt0.nc", + "netCDF4": files("compliance_checker") / "tests/data/test_cdl_nc4_file.cdl", } diff --git a/requirements.txt b/requirements.txt index 5c04ef39..6277c633 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,6 @@ cf-units>=2 cftime>=1.1.0 +importlib-resources # drop this when dropping Python 3.8 isodate>=0.6.1 jinja2>=2.7.3 lxml>=3.2.1