diff --git a/pyproject.toml b/pyproject.toml index d375c75..21a393d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -34,7 +34,7 @@ dev = [ "pylint == 4.0.6", "pyrefly==1.1.1", "pytest == 9.1.1", - "ruff == 0.15.22" + "ruff == 0.16.0" ] [build-system] diff --git a/test/cli_test.py b/test/cli_test.py index 3ed43fa..6ab7d4a 100644 --- a/test/cli_test.py +++ b/test/cli_test.py @@ -16,6 +16,7 @@ # along with this program. If not, see . import unittest + from trackpack import cli diff --git a/test/config_test.py b/test/config_test.py index e20167f..f696fa4 100644 --- a/test/config_test.py +++ b/test/config_test.py @@ -17,8 +17,9 @@ import datetime import unittest -from unittest.mock import patch, Mock -from trackpack import config, cli +from unittest.mock import patch + +from trackpack import cli, config class TestConfig(unittest.TestCase): @@ -34,8 +35,10 @@ def test_extension_is_stripped_from_archivename(self) -> None: cfg.archive_name = "stems.zip" self.assertEqual("stems", cfg.archive_name) - @patch("trackpack.config.date", Mock(today=lambda: datetime.date(2020, 1, 1))) - def test_append_date_appends_date_to_archive_name(self) -> None: + @patch("trackpack.config.datetime") + def test_append_date_appends_date_to_archive_name(self, mock_datetime) -> None: + mock_datetime.now.return_value.date.return_value = datetime.date(2020, 1, 1) + cfg = config.Config() cfg.archive_name = "xyz" cfg.append_date = True @@ -57,8 +60,10 @@ def test_load_from_yaml(self) -> None: cfg.load_from_yaml("name: project-1\narchive_name: proj1\nappend_date: true") self.assertTrue(cfg.append_date) - @patch("trackpack.config.date", Mock(today=lambda: datetime.date(2020, 1, 2))) - def test_load_from_cli_args(self) -> None: + @patch("trackpack.config.datetime") + def test_load_from_cli_args(self, mock_datetime) -> None: + mock_datetime.now.return_value.date.return_value = datetime.date(2020, 1, 2) + args = cli.parse_args(["pack", "--archive-name", "proj.zip", "--append-date"]) cfg = config.Config() cfg.archive_name = "should override" diff --git a/test/trackpack_test.py b/test/trackpack_test.py index cf43707..3fded61 100644 --- a/test/trackpack_test.py +++ b/test/trackpack_test.py @@ -15,10 +15,11 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -import unittest -from unittest.mock import patch, call import os -from trackpack.trackpacker import TrackPacker, MissingFileException +import unittest +from unittest.mock import call, patch + +from trackpack.trackpacker import MissingFileException, TrackPacker class TestTrackPack(unittest.TestCase): diff --git a/trackpack/cli.py b/trackpack/cli.py index 58def59..60da850 100644 --- a/trackpack/cli.py +++ b/trackpack/cli.py @@ -16,6 +16,7 @@ # along with this program. If not, see . import argparse + from trackpack.version import __version__ diff --git a/trackpack/config.py b/trackpack/config.py index d0e7020..7b3e565 100644 --- a/trackpack/config.py +++ b/trackpack/config.py @@ -15,7 +15,8 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -from datetime import date +from datetime import datetime, timezone + import yaml @@ -29,7 +30,8 @@ def __init__(self) -> None: @property def archive_name(self) -> str: if self.append_date: - return "-".join((self._archive_name, date.today().strftime("%Y-%m-%d"))) + today_date = datetime.now(timezone.utc).date() + return "-".join((self._archive_name, today_date.strftime("%Y-%m-%d"))) return self._archive_name @archive_name.setter diff --git a/trackpack/trackpacker.py b/trackpack/trackpacker.py index 9aab950..a7d8c80 100644 --- a/trackpack/trackpacker.py +++ b/trackpack/trackpacker.py @@ -57,6 +57,5 @@ def pack_files(self, archive_name: str, files: list[str]): archive.write(file, self.__normalize_stem_name(os.path.basename(file))) def __normalize_stem_name(self, stem_name: str) -> str: - if stem_name.startswith(self.__project_name): - stem_name = stem_name[len(self.__project_name) :] + stem_name = stem_name.removeprefix(self.__project_name) return stem_name.strip().replace(" ", "-")