Commit graph

122 commits

Author SHA1 Message Date
Tiara Rodney
1fd75e11c1
todo(21): in-progress
parse_base_url and parse_repo_name accept SCP-style URLs for any host (e.g. git@git.code.tiararodney.com:h5p-mirror/foo.git) instead of rejecting everything but bitbucket.org. Non-SCP-style URLs (scheme://, missing colon) are still rejected with ValueError. Behavior for bitbucket.org URLs is unchanged. Unit tests cover Bitbucket- and Forgejo-shaped URLs plus the rejection cases, and pass via tox with no new mypy errors beyond the repo baseline.
2026-06-06 16:08:31 +02:00
Tiara Rodney
936f9cb974
todo(21): open 2026-06-06 16:05:08 +02:00
Tiara Rodney
a9c5c1acdf Merge branch 'feature/18' into develop 2026-06-06 15:03:02 +02:00
Tiara Rodney
fa34977452 todo(18): done
byteb4rb1e.utils.saas.forgejo delivered as a thin layer over byteb4rb1e.utils.http.client, mirroring the Bitbucket wrapper against the Forgejo REST API v1: token auth headers, repository existence check, repository creation under the authenticated user (/user/repos) or an organization (/orgs/{org}/repos). No instance URL hardcoded — every operation takes a host parameter via api_url(). Both ssh_clone_url and https_clone_url exposed. 12 unit tests cover all operations; 95/95 pass via tox -e unit-py313 with no mypy errors beyond the repo baseline.
2026-06-06 15:03:02 +02:00
Tiara Rodney
8372f92d29 test: add Forgejo saas wrapper unit tests 2026-06-06 15:00:19 +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
73c32fdee0 todo(18): in-progress
byteb4rb1e.utils.saas.forgejo exists as a thin layer over byteb4rb1e.utils.http.client, mirroring the Bitbucket wrapper's operations against the Forgejo REST API (api/v1): token auth headers, repository existence check, repository creation under the authenticated user or an organization. No instance URL is hardcoded: every operation takes a host parameter. Both SSH and HTTPS clone URL construction are exposed. Unit tests cover all operations and pass via tox; no new mypy errors beyond the repo baseline.
2026-06-06 14:58:00 +02:00
Tiara Rodney
b707325c69 Merge branch 'feature/20' into develop 2026-06-06 14:55:06 +02:00
Tiara Rodney
f9f61c3978 todo(20): done
HttpSession (cookie persistence via http.cookiejar, GET with query params, form-encoded POST, default/per-request header merging, HTTPError-to-response conversion) and the HttpResponse frozen-dataclass refactor live on feature/20 as separate refactor and feat commits. 14 new unit tests covering HttpResponse semantics and HttpSession behavior pass via tox -e unit-py313; the test file adds no new mypy errors beyond the repo-wide baseline. develop working tree clean of http/client.py changes.
2026-06-06 14:54:55 +02:00
Tiara Rodney
9c39e5c08f Merge branch 'feature/19' into develop 2026-06-06 14:54:53 +02:00
Tiara Rodney
fef5ee1bf2 todo(19): done
byteb4rb1e.utils.config (INI loading/writing, per-flag CLI integration, dotted-path --config KEY=VALUE overrides, help formatting) and byteb4rb1e.utils.argparse.actions.KeyValueAction with package export live on feature/19 in five granular commits (production code before tests, module boundaries separate). 46 unit tests pass via tox -e unit-py313. develop working tree clean of these files.
2026-06-06 14:54:41 +02:00
Tiara Rodney
c3c17e1e8e test: add http client unit tests 2026-06-06 14:40:43 +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
96c8e4685e test: add config framework unit tests 2026-06-06 14:35:02 +02:00
Tiara Rodney
d23a8287fd test: add KeyValueAction unit tests 2026-06-06 14:35:02 +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
18aca33e42 todo(20): in-progress
HttpSession and the HttpResponse frozen-dataclass refactor live on branch feature/20 as separate refactor and feat commits; unit tests covering HttpResponse and HttpSession (cookie persistence, header merging, params, form POST, HTTPError handling) added and passing via tox; develop working tree is clean of http/client.py changes.
2026-06-06 14:34:45 +02:00
Tiara Rodney
358ce939a9 todo(19): in-progress
byteb4rb1e.utils.config and byteb4rb1e.utils.argparse.actions.KeyValueAction (with package export) live on branch feature/19 with spec-compliant commit granularity (production code before tests, module boundaries separate); unit test suites for both pass via tox; develop working tree is clean of these files.
2026-06-06 14:34:43 +02:00
Tiara Rodney
a0fd3e5d48 todo(20): open 2026-06-06 14:34:27 +02:00
Tiara Rodney
1879157fab todo(19): open 2026-06-06 14:34:12 +02:00
Tiara Rodney
307f7c322c todo(18): open 2026-06-06 14:26:27 +02:00
Tiara Rodney
d296f135d1 chore: convert TODO to MIME TODO format 2026-06-06 14:14:02 +02:00
Tiara Rodney
9221fdcfe2
chore: cleanup 2026-03-27 19:00:09 +01:00
Tiara Rodney
d8d32e1662
docs: add development guidelines 2026-03-21 18:35:12 +01:00
Tiara Rodney
3ee3f15326
chore: update build 2026-03-21 17:13:02 +01:00
Tiara Rodney
bd3d0814c9
chore: reapply editable 2026-03-16 00:24:35 +01:00
Tiara Rodney
4cd79cc6a4
chore: reapply editable 2026-03-16 00:21:30 +01: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
cc4b567181
chore: ignore tox working directory 2025-12-31 14:40:39 +01:00
Tiara Rodney
22aeecd630
todo(17): in-progress 2025-12-31 14:28:27 +01:00
Tiara Rodney
90567899e0
todo(17): open 2025-12-31 14:27:59 +01:00
Tiara Rodney
0a23243b76
todo(16): change priority
project that uses it is currently on hold, hence priority is low
2025-12-31 14:24:38 +01:00
Tiara Rodney
b257fd3d88
todo(16): in-progress 2025-12-31 14:24:09 +01:00
Tiara Rodney
6b29a8d525
todo(16): open 2025-12-31 14:22:38 +01:00
Tiara Rodney
c96568f42f
Merge branch 'bugfix/15' into dev
ID: 15
Type: bugfix
Title: modularize module containers
Status: open
Priority: high
Created: 2025-06-28
Description: Even though importlib can find submodules through traversing paths
             instead of relying on __init__.py for every ancestor module, this
             is not supported by some modules like sphinx.ext.autosummary
2025-06-28 01:42:33 +02:00
Tiara Rodney
74dac5249b
todo(15): done 2025-06-28 01:42:13 +02:00
Tiara Rodney
89f7420fae
refactor: modularize submodules 2025-06-28 01:41:32 +02:00
Tiara Rodney
9d09a4abaa
todo(15): in-progress 2025-06-28 01:40:17 +02:00
Tiara Rodney
b9e9e13630
todo(15): open 2025-06-28 01:39:37 +02:00
Tiara Rodney
32ae99c5fa
Merge branch 'feature/14' into dev
ID: 14
Type: feature
Title: add compression support for urllib PkgHandler
Status: done
Priority: high
Created: 2025-06-21
Description: with a proper content-type of the PkgHandler addinfourl object, a
             consumer can determine whether the file is compressed or not.
2025-06-21 20:27:58 +02:00
Tiara Rodney
7e18e4795d
todo(14): done 2025-06-21 20:27:09 +02:00
Tiara Rodney
2d9fe8b625
feat(urllib.request): add compression support for PkgHandler 2025-06-21 20:26:36 +02:00
Tiara Rodney
981985e51a
todo(14): in-progress 2025-06-21 20:26:15 +02:00
Tiara Rodney
b6a24de08c
Merge branch 'bugfix/13' into dev
ID: 13
Type: bugfix
Title: fix unit tests for urllib PkgHandler
Status: done
Priority: high
Created: 2025-06-21
Description: change of issue 12 wasn't properly reflected in urllib PkgHandler
             unit tests
2025-06-21 20:25:43 +02:00
Tiara Rodney
5beb699dda
todo(13): done 2025-06-21 20:25:28 +02:00