Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions dumb_pypi/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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'),
Expand Down
9 changes: 5 additions & 4 deletions tests/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -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):
Expand All @@ -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)

Expand Down