Commit graph

22 commits

Author SHA1 Message Date
Tiara Rodney
b6d7ada521
fix: make parse_base_url return str as annotated
It returned Path(workspace).parent — a Path — despite the
declared str return type. Resolves the mypy return-value error.
2026-06-06 16:15:12 +02:00
Tiara Rodney
f6283456bb
feat: relax host restriction in vcs.git URL parsing
parse_base_url and parse_repo_name hard-rejected any host other
than bitbucket.org — a leftover from when bootstrapping required
the Bitbucket API. With the Forgejo saas wrapper (#18) in place,
downstream consumers feed Forgejo-shaped URLs through these
helpers. Drop the host check; SCP-style format validation stays.
Also corrects parse_repo_name's docstring, which was a stale
copy of parse_base_url's.
2026-06-06 16:10:16 +02:00
Tiara Rodney
e47de33caf feat: add Forgejo saas wrapper
Mirrors the Bitbucket wrapper against the Forgejo REST API v1:
token auth headers, repository existence check, repository
creation under the authenticated user or an organization. No
instance URL is hardcoded — Forgejo is self-hosted, so every
operation takes a host parameter. Exposes both ssh_clone_url
and https_clone_url (HTTPS needed in CI without SSH host keys).
2026-06-06 15:00:19 +02:00
Tiara Rodney
b707325c69 Merge branch 'feature/20' into develop 2026-06-06 14:55:06 +02:00
Tiara Rodney
bdd3892c5c feat: add cookie-persisting HttpSession
HTTP client that persists cookies across requests via
http.cookiejar, for sites requiring login followed by
cookie-authenticated fetches. Supports GET with query params,
form-encoded POST, default/per-request header merging, and
HTTPError-to-response conversion.
2026-06-06 14:36:18 +02:00
Tiara Rodney
9a4d2041f9 refactor: convert HttpResponse to frozen dataclass
text becomes a derived property; reason is now optional.
2026-06-06 14:36:17 +02:00
Tiara Rodney
fab4176ba9 feat: add config framework 2026-06-06 14:35:02 +02:00
Tiara Rodney
e12d65f53c feat: export KeyValueAction from argparse package 2026-06-06 14:35:01 +02:00
Tiara Rodney
8077a64f7b feat: add KeyValueAction argparse action 2026-06-06 14:35:01 +02:00
Tiara Rodney
4cdf357022
dirty 2026-03-16 00:09:57 +01:00
Tiara Rodney
c4fb29f694
feat(git): submodule and remote handling 2026-03-04 18:10:18 +01:00
Tiara Rodney
5bf4a7eee4
migrate sphinxcontrib.h5p.utils 2026-03-04 13:11:07 +01:00
Tiara Rodney
89f7420fae
refactor: modularize submodules 2025-06-28 01:41:32 +02:00
Tiara Rodney
2d9fe8b625
feat(urllib.request): add compression support for PkgHandler 2025-06-21 20:26:36 +02:00
Tiara Rodney
aa2540cf3f
refactor(testing.pytest): change mock_pkg interface
being more explicit about what the fixture provides as an output, instead of
solely describing the site effects.

Also the consumer is now responsible for the module directory layout.
2025-06-21 18:14:52 +02:00
Tiara Rodney
9abfabde00
chore: move testing utils out of utils 2025-06-21 01:41:47 +02:00
Tiara Rodney
59713aefb8
feat(urllib.request): add importlib resource handler 2025-06-21 00:34:29 +02:00
Tiara Rodney
24806959bb
feat(testing.pytest): add pkg mock fixture 2025-06-21 00:32:07 +02:00
Tiara Rodney
43cdf21d4b
feat(testing.pytest): add subprocess decorator 2025-06-20 23:36:56 +02:00
Tiara Rodney
1ea3b3a24d
feat(urllib): init PkgHandler 2025-06-20 21:49:28 +02:00
Tiara Rodney
644beb8696
feat(testing): init pytest fixtures
current_test fixture allows to retrieve the current test context, that is
exposed through the shell environment
2025-06-20 21:47:17 +02:00
Tiara Rodney
1fb1e0d0bf
chore: rename package 2025-06-20 20:33:37 +02:00