Skip to content

Commit 6f3a94d

Browse files
Switch dependencies (#165)
- Pre-commit to Prek - Prek repos in dev dependencies - Simyan to v2 - Added Grayven - Mokkari to Seagrin
1 parent 7e2d259 commit 6f3a94d

25 files changed

+513
-506
lines changed

.github/workflows/linting.yaml

Lines changed: 5 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@ on:
1313
- docs/**
1414

1515
env:
16-
PY_VERSION: 3.14
16+
PY_VERSION: '3.10'
1717

1818
jobs:
19-
pre-commit:
19+
prek:
2020
permissions:
2121
contents: read
2222
runs-on: ubuntu-latest
@@ -27,22 +27,6 @@ jobs:
2727
with:
2828
python-version: ${{ env.PY_VERSION }}
2929
- name: Install project
30-
run: uv sync --locked --no-dev
31-
- name: Run pre-commit
32-
run: uv run --with pre-commit pre-commit run -a
33-
34-
ty:
35-
permissions:
36-
contents: read
37-
runs-on: ubuntu-latest
38-
39-
steps:
40-
- uses: actions/checkout@v6
41-
- uses: astral-sh/setup-uv@v7
42-
with:
43-
python-version: ${{ env.PY_VERSION }}
44-
- name: Install project
45-
run: uv sync --locked --no-dev
46-
- name: Run ty
47-
run: uv run --with ty ty check perdoo --ignore unresolved-import
48-
continue-on-error: true
30+
run: uv sync --locked --dev --all-extras --managed-python
31+
- name: Run prek
32+
run: uv run prek run -a

.github/workflows/testing.yaml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,11 @@ jobs:
2222
fail-fast: false
2323
matrix:
2424
python-version:
25-
- '3.10'
26-
- '3.11'
27-
- '3.12'
28-
- '3.13'
29-
- '3.14'
25+
- "3.10"
26+
- "3.11"
27+
- "3.12"
28+
- "3.13"
29+
- "3.14"
3030
os:
3131
- ubuntu-latest
3232
- macos-latest
@@ -42,7 +42,7 @@ jobs:
4242
with:
4343
python-version: ${{ matrix.python-version }}
4444
- name: Install project
45-
run: uv sync --locked --no-dev --group tests --managed-python
45+
run: uv sync --locked --no-dev --all-extras --group tests --managed-python
4646
- name: Run tests
4747
run: uv run pytest
4848

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,18 @@ __pycache__/
33
__pypackages__/
44
.idea/
55
.ruff_cache/
6+
.tox/
67
.venv/
78
build/
89
dist/
910
logs/
11+
site/
1012

1113
# =====Files=====
1214
*.iml
1315
*.log
16+
*.txt
1417
.coverage
1518
.envrc
1619
.pdm-python
1720
.python-version
18-
pdm.lock

.pre-commit-config.yaml

Lines changed: 0 additions & 69 deletions
This file was deleted.

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ Unlike other tagging tools, Perdoo employs a manual approach when metadata files
7474
## Services
7575

7676
- [Comicvine](https://comicvine.gamespot.com) using the [Simyan](https://github.com/Metron-Project/Simyan) library.
77-
- [Metron](https://metron.cloud) using the [Mokkari](https://github.com/Metron-Project/Mokkari) library.
77+
- [Metron](https://metron.cloud) using the [Seagrin](https://codeberg.org/BuriedInCode/Seagrin) library.
7878

7979
## File Renaming and Organization
8080

docs/img/perdoo-archive.svg

Lines changed: 2 additions & 2 deletions
Loading

docs/img/perdoo-commands.svg

Lines changed: 2 additions & 2 deletions
Loading

docs/img/perdoo-process.svg

Lines changed: 2 additions & 2 deletions
Loading

docs/img/perdoo-settings.svg

Lines changed: 2 additions & 2 deletions
Loading

perdoo/cli/process.py

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,11 @@ class SyncOption(str, Enum):
3939
def get_services(settings: Services) -> dict[Service, BaseService]:
4040
output = {}
4141
if settings.comicvine.api_key:
42-
output[Service.COMICVINE] = Comicvine(settings.comicvine)
42+
output[Service.COMICVINE] = Comicvine(api_key=settings.comicvine.api_key)
4343
if settings.metron.username and settings.metron.password:
44-
output[Service.METRON] = Metron(settings.metron)
44+
output[Service.METRON] = Metron(
45+
username=settings.metron.username, password=settings.metron.password
46+
)
4547
return output
4648

4749

@@ -98,22 +100,27 @@ def get_id(ids: list[Id], source: InformationSource) -> str | None:
98100
return next((x.value for x in ids if x.source is source), None)
99101

100102

101-
def search_from_metron_info(metron_info: MetronInfo) -> Search:
103+
def search_from_metron_info(metron_info: MetronInfo, filename: str) -> Search:
102104
series_id = metron_info.series.id
105+
comicvine_id = get_id(metron_info.ids, InformationSource.COMIC_VINE)
106+
metron_id = get_id(metron_info.ids, InformationSource.METRON)
103107
source = next((x.source for x in metron_info.ids if x.primary), None)
104108
return Search(
105109
series=SeriesSearch(
106110
name=metron_info.series.name,
107111
volume=metron_info.series.volume,
108112
year=metron_info.series.start_year,
109-
comicvine=series_id if source == InformationSource.COMIC_VINE else None,
110-
metron=series_id if source == InformationSource.METRON else None,
113+
comicvine=int(series_id)
114+
if series_id and source == InformationSource.COMIC_VINE
115+
else None,
116+
metron=int(series_id) if series_id and source == InformationSource.METRON else None,
111117
),
112118
issue=IssueSearch(
113119
number=metron_info.number,
114-
comicvine=get_id(metron_info.ids, InformationSource.COMIC_VINE),
115-
metron=get_id(metron_info.ids, InformationSource.METRON),
120+
comicvine=int(comicvine_id) if comicvine_id else None,
121+
metron=int(metron_id) if metron_id else None,
116122
),
123+
filename=filename,
117124
)
118125

119126

@@ -124,19 +131,21 @@ def search_from_comic_info(comic_info: ComicInfo, filename: str) -> Search:
124131
return Search(
125132
series=SeriesSearch(name=comic_info.series or filename, volume=volume, year=year),
126133
issue=IssueSearch(number=comic_info.number),
134+
filename=filename,
127135
)
128136

129137

130138
def search_from_filename(filename: str) -> Search:
131-
series_name = comicfn2dict(filename).get("series", filename).replace("-", " ")
132-
return Search(series=SeriesSearch(name=series_name), issue=IssueSearch())
139+
series_name = comicfn2dict(filename).get("series", filename)
140+
series_name = str(series_name).replace("-", " ")
141+
return Search(series=SeriesSearch(name=series_name), issue=IssueSearch(), filename=filename)
133142

134143

135144
def build_search(
136145
metron_info: MetronInfo | None, comic_info: ComicInfo | None, filename: str
137146
) -> Search:
138147
if metron_info and metron_info.series and metron_info.series.name:
139-
return search_from_metron_info(metron_info=metron_info)
148+
return search_from_metron_info(metron_info=metron_info, filename=filename)
140149
if comic_info and comic_info.series:
141150
return search_from_comic_info(comic_info=comic_info, filename=filename)
142151
return search_from_filename(filename=filename)
@@ -166,7 +175,6 @@ def resolve_metadata(
166175
search = build_search(
167176
metron_info=metron_info, comic_info=comic_info, filename=entry.filepath.stem
168177
)
169-
search.filename = entry.filepath.stem
170178
return sync_metadata(search=search, services=services, service_order=settings.order)
171179

172180

0 commit comments

Comments
 (0)