diff --git a/dumb_pypi/main.py b/dumb_pypi/main.py index 830d12debda..044007a4955 100644 --- a/dumb_pypi/main.py +++ b/dumb_pypi/main.py @@ -24,6 +24,7 @@ from collections.abc import Iterator from collections.abc import Sequence from datetime import datetime +from datetime import timezone from typing import Any from typing import IO from typing import NamedTuple @@ -132,7 +133,7 @@ def sort_key(self) -> tuple[str, packaging.version.Version, bool, tuple[str | in @property def formatted_upload_time(self) -> str: assert self.upload_timestamp is not None - dt = datetime.utcfromtimestamp(self.upload_timestamp) + dt = datetime.fromtimestamp(self.upload_timestamp, tz=timezone.utc) return _format_datetime(dt) @property @@ -305,7 +306,7 @@ def build_repo( ) -> None: simple = os.path.join(settings.output_dir, 'simple') pypi = os.path.join(settings.output_dir, 'pypi') - current_date = _format_datetime(datetime.utcnow()) + current_date = _format_datetime(datetime.now(timezone.utc)) jinja_env = jinja2.Environment( loader=jinja2.PackageLoader('dumb_pypi', 'templates'), diff --git a/tests/conftest.py b/tests/conftest.py index 85bd9245746..078c1e0efa7 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -18,15 +18,15 @@ @pytest.fixture(scope='session') -def running_server(tmpdir_factory): +def running_server(tmp_path_factory): ip = '127.0.0.1' port = ephemeral_port_reserve.reserve(ip=ip) url = f'http://{ip}:{port}' - path = tmpdir_factory.mktemp('http') + path = tmp_path_factory.mktemp('http') proc = subprocess.Popen( (sys.executable, '-m', 'http.server', '-b', ip, str(port)), - cwd=path.strpath, + cwd=str(path), ) try: for _ in range(100): @@ -52,7 +52,8 @@ def tmpweb(running_server, tmpdir): # symlink some uuid under the running server path to our tmpdir name = str(uuid.uuid4()) - running_server.path.join(name).mksymlinkto(path) + # running_server.path is a pathlib.Path; `path` is a py.path.local + (running_server.path / name).symlink_to(path.strpath, target_is_directory=True) return UrlAndPath(f'{running_server.url}/{name}', path)