Skip to content

Commit 63b7df8

Browse files
committed
fix: resolved issues with package dependencies
1 parent 071f6bb commit 63b7df8

File tree

6 files changed

+35
-47
lines changed

6 files changed

+35
-47
lines changed

.github/workflows/build.yml

+31-9
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
- name: Install dependencies
1919
run: |
2020
python -m pip install --upgrade pip
21-
if [ -f backend/requirements.txt ]; then pip install -r backend/requirements.txt; fi
21+
if [ -f backend/requirements.lock ]; then pip install -r backend/requirements.lock; fi
2222
pip install pytest
2323
- name: Test
2424
working-directory: ./backend/src
@@ -147,19 +147,27 @@ jobs:
147147
id: buildx
148148
uses: docker/setup-buildx-action@v2
149149

150-
- name: Docker metadata main
151-
id: meta
150+
- name: Docker metadata (dev)
151+
id: meta-dev
152152
uses: docker/metadata-action@v4
153153
with:
154154
images: |
155155
ghcr.io/${{ github.repository }}
156156
tags: |
157-
{% if needs.version-info.outputs.version contains 'dev' %}
158157
type=raw,value=${{ needs.version-info.outputs.version }}
159-
{% else %}
158+
type=raw,value=dev
159+
if: contains(needs.version-info.outputs.version, 'dev')
160+
161+
- name: Docker metadata (release)
162+
id: meta-release
163+
uses: docker/metadata-action@v4
164+
with:
165+
images: |
166+
ghcr.io/${{ github.repository }}
167+
tags: |
160168
type=raw,value=${{ needs.version-info.outputs.version }}
161169
type=raw,value=latest
162-
{% endif %}
170+
if: contains(needs.version-info.outputs.version, 'dev') == false
163171

164172
- name: Login to ghcr.io
165173
uses: docker/login-action@v2
@@ -174,14 +182,28 @@ jobs:
174182
name: dist
175183
path: backend/src/dist
176184

177-
- name: Build and push
185+
- name: Build and push (dev)
186+
uses: docker/build-push-action@v4
187+
with:
188+
context: .
189+
builder: ${{ steps.buildx.output.name }}
190+
platforms: linux/amd64,linux/arm64
191+
push: true
192+
tags: ${{ steps.meta-dev.outputs.tags }}
193+
labels: ${{ steps.meta-dev.outputs.labels }}
194+
cache-from: type=gha, scope=${{ github.workflow }}
195+
cache-to: type=gha, scope=${{ github.workflow }}
196+
if: contains(needs.version-info.outputs.version, 'dev')
197+
198+
- name: Build and push (release)
178199
uses: docker/build-push-action@v4
179200
with:
180201
context: .
181202
builder: ${{ steps.buildx.output.name }}
182203
platforms: linux/amd64,linux/arm64
183204
push: true
184-
tags: ${{ steps.meta.outputs.tags }}
185-
labels: ${{ steps.meta.outputs.labels }}
205+
tags: ${{ steps.meta-release.outputs.tags }}
206+
labels: ${{ steps.meta-release.outputs.labels }}
186207
cache-from: type=gha, scope=${{ github.workflow }}
187208
cache-to: type=gha, scope=${{ github.workflow }}
209+
if: contains(needs.version-info.outputs.version, 'dev') == false

backend/pyproject.toml

+2-2
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,10 @@ dev-dependencies = [
3434
"pre-commit>=3.7.1",
3535
"pytest>=8.3.1",
3636
]
37+
virtual = true
3738

3839
[tool.rye.scripts]
39-
backend = "python src/main.py"
40-
dev = "uvicorn main:app --reload --port 7892"
40+
dev = "bash dev.sh"
4141

4242
[tool.hatch.metadata]
4343
allow-direct-references = true

backend/requirements-dev.lock

-17
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
# generate-hashes: false
1010
# universal: false
1111

12-
-e file:.
1312
annotated-types==0.7.0
1413
# via pydantic
1514
anyio==4.4.0
@@ -19,13 +18,11 @@ anyio==4.4.0
1918
# via starlette
2019
# via watchfiles
2120
bcrypt==4.0.1
22-
# via autobangumi
2321
# via passlib
2422
beautifulsoup4==4.12.3
2523
# via bs4
2624
black==24.4.2
2725
bs4==0.0.2
28-
# via autobangumi
2926
certifi==2024.7.4
3027
# via httpcore
3128
# via httpx
@@ -49,7 +46,6 @@ ecdsa==0.19.0
4946
email-validator==2.2.0
5047
# via fastapi
5148
fastapi==0.111.1
52-
# via autobangumi
5349
fastapi-cli==0.0.4
5450
# via fastapi
5551
filelock==3.15.4
@@ -66,7 +62,6 @@ httpcore==1.0.5
6662
httptools==0.6.1
6763
# via uvicorn
6864
httpx==0.27.0
69-
# via autobangumi
7065
# via fastapi
7166
# via openai
7267
hyperframe==6.0.1
@@ -83,7 +78,6 @@ iniconfig==2.0.0
8378
jinja2==3.1.4
8479
# via fastapi
8580
lxml==5.2.2
86-
# via autobangumi
8781
markdown-it-py==3.0.0
8882
# via rich
8983
markupsafe==2.1.5
@@ -95,13 +89,11 @@ mypy-extensions==1.0.0
9589
nodeenv==1.9.1
9690
# via pre-commit
9791
openai==1.37.0
98-
# via autobangumi
9992
packaging==24.1
10093
# via black
10194
# via pytest
10295
# via qbittorrent-api
10396
passlib==1.7.4
104-
# via autobangumi
10597
pathspec==0.12.1
10698
# via black
10799
platformdirs==4.2.2
@@ -114,7 +106,6 @@ pyasn1==0.6.0
114106
# via python-jose
115107
# via rsa
116108
pydantic==2.8.2
117-
# via autobangumi
118109
# via fastapi
119110
# via openai
120111
# via sqlmodel
@@ -124,17 +115,14 @@ pygments==2.18.0
124115
# via rich
125116
pytest==8.3.1
126117
python-dotenv==1.0.1
127-
# via autobangumi
128118
# via uvicorn
129119
python-jose==3.3.0
130-
# via autobangumi
131120
python-multipart==0.0.9
132121
# via fastapi
133122
pyyaml==6.0.1
134123
# via pre-commit
135124
# via uvicorn
136125
qbittorrent-api==2024.7.64
137-
# via autobangumi
138126
requests==2.32.3
139127
# via qbittorrent-api
140128
rich==13.7.1
@@ -143,7 +131,6 @@ rsa==4.9
143131
# via python-jose
144132
ruff==0.5.4
145133
semver==3.0.2
146-
# via autobangumi
147134
shellingham==1.5.4
148135
# via typer
149136
six==1.16.0
@@ -159,14 +146,11 @@ soupsieve==2.5
159146
sqlalchemy==2.0.31
160147
# via sqlmodel
161148
sqlmodel==0.0.21
162-
# via autobangumi
163149
sse-starlette==2.1.2
164-
# via autobangumi
165150
starlette==0.37.2
166151
# via fastapi
167152
# via sse-starlette
168153
torrentool==1.2.0
169-
# via autobangumi
170154
tqdm==4.66.4
171155
# via openai
172156
typer==0.12.3
@@ -182,7 +166,6 @@ urllib3==2.2.2
182166
# via qbittorrent-api
183167
# via requests
184168
uvicorn==0.30.3
185-
# via autobangumi
186169
# via fastapi
187170
# via sse-starlette
188171
uvloop==0.19.0

backend/requirements.lock

-17
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
# generate-hashes: false
1010
# universal: false
1111

12-
-e file:.
1312
annotated-types==0.7.0
1413
# via pydantic
1514
anyio==4.4.0
@@ -19,12 +18,10 @@ anyio==4.4.0
1918
# via starlette
2019
# via watchfiles
2120
bcrypt==4.0.1
22-
# via autobangumi
2321
# via passlib
2422
beautifulsoup4==4.12.3
2523
# via bs4
2624
bs4==0.0.2
27-
# via autobangumi
2825
certifi==2024.7.4
2926
# via httpcore
3027
# via httpx
@@ -43,7 +40,6 @@ ecdsa==0.19.0
4340
email-validator==2.2.0
4441
# via fastapi
4542
fastapi==0.111.1
46-
# via autobangumi
4743
fastapi-cli==0.0.4
4844
# via fastapi
4945
h11==0.14.0
@@ -58,7 +54,6 @@ httpcore==1.0.5
5854
httptools==0.6.1
5955
# via uvicorn
6056
httpx==0.27.0
61-
# via autobangumi
6257
# via fastapi
6358
# via openai
6459
hyperframe==6.0.1
@@ -71,24 +66,20 @@ idna==3.7
7166
jinja2==3.1.4
7267
# via fastapi
7368
lxml==5.2.2
74-
# via autobangumi
7569
markdown-it-py==3.0.0
7670
# via rich
7771
markupsafe==2.1.5
7872
# via jinja2
7973
mdurl==0.1.2
8074
# via markdown-it-py
8175
openai==1.37.0
82-
# via autobangumi
8376
packaging==24.1
8477
# via qbittorrent-api
8578
passlib==1.7.4
86-
# via autobangumi
8779
pyasn1==0.6.0
8880
# via python-jose
8981
# via rsa
9082
pydantic==2.8.2
91-
# via autobangumi
9283
# via fastapi
9384
# via openai
9485
# via sqlmodel
@@ -97,24 +88,20 @@ pydantic-core==2.20.1
9788
pygments==2.18.0
9889
# via rich
9990
python-dotenv==1.0.1
100-
# via autobangumi
10191
# via uvicorn
10292
python-jose==3.3.0
103-
# via autobangumi
10493
python-multipart==0.0.9
10594
# via fastapi
10695
pyyaml==6.0.1
10796
# via uvicorn
10897
qbittorrent-api==2024.7.64
109-
# via autobangumi
11098
requests==2.32.3
11199
# via qbittorrent-api
112100
rich==13.7.1
113101
# via typer
114102
rsa==4.9
115103
# via python-jose
116104
semver==3.0.2
117-
# via autobangumi
118105
shellingham==1.5.4
119106
# via typer
120107
six==1.16.0
@@ -130,14 +117,11 @@ soupsieve==2.5
130117
sqlalchemy==2.0.31
131118
# via sqlmodel
132119
sqlmodel==0.0.21
133-
# via autobangumi
134120
sse-starlette==2.1.2
135-
# via autobangumi
136121
starlette==0.37.2
137122
# via fastapi
138123
# via sse-starlette
139124
torrentool==1.2.0
140-
# via autobangumi
141125
tqdm==4.66.4
142126
# via openai
143127
typer==0.12.3
@@ -153,7 +137,6 @@ urllib3==2.2.2
153137
# via qbittorrent-api
154138
# via requests
155139
uvicorn==0.30.3
156-
# via autobangumi
157140
# via fastapi
158141
# via sse-starlette
159142
uvloop==0.19.0

backend/src/module/database/bangumi.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ def update(self, data: Bangumi | BangumiUpdate, _id: int = None) -> bool:
3838
return False
3939
if not db_data:
4040
return False
41-
bangumi_data = data.dict(exclude_unset=True)
41+
bangumi_data = data.model_dump(exclude_unset=True)
4242
for key, value in bangumi_data.items():
4343
setattr(db_data, key, value)
4444
self.session.add(db_data)

backend/src/module/database/rss.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ def update(self, _id: int, data: RSSUpdate):
3636
if not db_data:
3737
return False
3838
# Update
39-
dict_data = data.dict(exclude_unset=True)
39+
dict_data = data.model_dump(exclude_unset=True)
4040
for key, value in dict_data.items():
4141
setattr(db_data, key, value)
4242
self.session.add(db_data)

0 commit comments

Comments
 (0)