quasarr 2.4.5__tar.gz → 2.4.6__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of quasarr might be problematic. Click here for more details.
- {quasarr-2.4.5 → quasarr-2.4.6}/.github/workflows/Beta.yml +17 -12
- {quasarr-2.4.5 → quasarr-2.4.6}/.github/workflows/Release.yml +23 -19
- {quasarr-2.4.5 → quasarr-2.4.6}/.gitignore +2 -2
- {quasarr-2.4.5 → quasarr-2.4.6}/PKG-INFO +1 -1
- {quasarr-2.4.5 → quasarr-2.4.6}/docker/Dockerfile +4 -1
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/providers/shared_state.py +2 -1
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/providers/version.py +1 -1
- {quasarr-2.4.5 → quasarr-2.4.6}/.github/Changelog.md +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/.github/FUNDING.yml +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/.github/workflows/HostnameRedaction.yml +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/.github/workflows/PrVersionBumpCheck.yml +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/LICENSE +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/Quasarr.png +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/Quasarr.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/README.md +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/docker/dev-services-compose.yml +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/docker/dev-setup.md +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/docker/docker-compose.yml +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/pyproject.toml +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/__init__.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/api/__init__.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/api/arr/__init__.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/api/captcha/__init__.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/api/config/__init__.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/api/packages/__init__.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/api/sponsors_helper/__init__.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/api/statistics/__init__.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/downloads/__init__.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/downloads/linkcrypters/__init__.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/downloads/linkcrypters/al.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/downloads/linkcrypters/filecrypt.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/downloads/linkcrypters/hide.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/downloads/packages/__init__.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/downloads/sources/__init__.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/downloads/sources/al.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/downloads/sources/by.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/downloads/sources/dd.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/downloads/sources/dj.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/downloads/sources/dl.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/downloads/sources/dt.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/downloads/sources/dw.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/downloads/sources/he.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/downloads/sources/mb.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/downloads/sources/nk.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/downloads/sources/nx.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/downloads/sources/sf.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/downloads/sources/sj.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/downloads/sources/sl.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/downloads/sources/wd.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/downloads/sources/wx.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/providers/__init__.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/providers/auth.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/providers/cloudflare.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/providers/hostname_issues.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/providers/html_images.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/providers/html_templates.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/providers/imdb_metadata.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/providers/jd_cache.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/providers/log.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/providers/myjd_api.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/providers/notifications.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/providers/obfuscated.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/providers/sessions/__init__.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/providers/sessions/al.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/providers/sessions/dd.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/providers/sessions/dl.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/providers/sessions/nx.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/providers/statistics.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/providers/utils.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/providers/web_server.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/search/__init__.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/search/sources/__init__.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/search/sources/al.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/search/sources/by.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/search/sources/dd.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/search/sources/dj.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/search/sources/dl.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/search/sources/dt.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/search/sources/dw.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/search/sources/fx.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/search/sources/he.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/search/sources/mb.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/search/sources/nk.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/search/sources/nx.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/search/sources/sf.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/search/sources/sj.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/search/sources/sl.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/search/sources/wd.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/search/sources/wx.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/storage/__init__.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/storage/config.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/storage/setup.py +0 -0
- {quasarr-2.4.5 → quasarr-2.4.6}/quasarr/storage/sqlite_database.py +0 -0
|
@@ -24,7 +24,6 @@ jobs:
|
|
|
24
24
|
- name: Install uv
|
|
25
25
|
uses: astral-sh/setup-uv@v5
|
|
26
26
|
with:
|
|
27
|
-
# Fixed: Added glob to silence warning since you might not have uv.lock
|
|
28
27
|
enable-cache: true
|
|
29
28
|
cache-dependency-glob: "pyproject.toml"
|
|
30
29
|
- name: Get Version
|
|
@@ -35,6 +34,10 @@ jobs:
|
|
|
35
34
|
build-wheel:
|
|
36
35
|
name: Build Wheel
|
|
37
36
|
runs-on: ubuntu-latest
|
|
37
|
+
permissions:
|
|
38
|
+
contents: read
|
|
39
|
+
id-token: write
|
|
40
|
+
attestations: write
|
|
38
41
|
steps:
|
|
39
42
|
- uses: actions/checkout@v6
|
|
40
43
|
- uses: actions/setup-python@v5
|
|
@@ -47,6 +50,12 @@ jobs:
|
|
|
47
50
|
cache-dependency-glob: "pyproject.toml"
|
|
48
51
|
- name: Build wheel
|
|
49
52
|
run: uv build
|
|
53
|
+
|
|
54
|
+
- name: Generate artifact attestation
|
|
55
|
+
uses: actions/attest-build-provenance@v2
|
|
56
|
+
with:
|
|
57
|
+
subject-path: "dist/*.whl"
|
|
58
|
+
|
|
50
59
|
- uses: actions/upload-artifact@v4
|
|
51
60
|
with:
|
|
52
61
|
name: wheel
|
|
@@ -66,26 +75,26 @@ jobs:
|
|
|
66
75
|
- uses: actions/setup-python@v5
|
|
67
76
|
with:
|
|
68
77
|
python-version: '3.12'
|
|
78
|
+
|
|
69
79
|
- name: Install uv
|
|
70
80
|
uses: astral-sh/setup-uv@v5
|
|
71
81
|
with:
|
|
72
82
|
enable-cache: true
|
|
73
83
|
cache-dependency-glob: "pyproject.toml"
|
|
74
|
-
|
|
75
|
-
with:
|
|
76
|
-
path: ~\AppData\Local\pyinstaller
|
|
77
|
-
key: ${{ runner.os }}-pyinstaller-${{ hashFiles('pyproject.toml') }}
|
|
78
|
-
restore-keys: ${{ runner.os }}-pyinstaller-
|
|
84
|
+
|
|
79
85
|
- name: Disable Windows Defender
|
|
80
86
|
shell: powershell
|
|
81
87
|
run: Set-MpPreference -DisableRealtimeMonitoring $true
|
|
88
|
+
|
|
82
89
|
- name: Install dependencies
|
|
83
90
|
run: |
|
|
84
91
|
uv sync --group build
|
|
92
|
+
|
|
85
93
|
- name: Build exe
|
|
86
94
|
run: |
|
|
87
95
|
uv run python quasarr/providers/version.py --create-version-file
|
|
88
96
|
uv run pyinstaller --clean --onefile -y --version-file "file_version_info.txt" "Quasarr.py" -n "quasarr-${{ needs.version.outputs.version }}-standalone-win64"
|
|
97
|
+
|
|
89
98
|
- uses: actions/upload-artifact@v4
|
|
90
99
|
with:
|
|
91
100
|
name: exe-amd64
|
|
@@ -162,7 +171,6 @@ jobs:
|
|
|
162
171
|
runs-on: ubuntu-latest
|
|
163
172
|
needs: [ version, build-docker-amd64, build-docker-arm64 ]
|
|
164
173
|
steps:
|
|
165
|
-
# Fixed: Added setup-buildx-action to ensure 'imagetools' supports annotations correctly
|
|
166
174
|
- uses: docker/setup-buildx-action@v3
|
|
167
175
|
- uses: docker/login-action@v3
|
|
168
176
|
with:
|
|
@@ -171,20 +179,17 @@ jobs:
|
|
|
171
179
|
password: ${{ secrets.GITHUB_TOKEN }}
|
|
172
180
|
- name: Create and Push Manifests
|
|
173
181
|
run: |
|
|
174
|
-
# 1. Define source tags
|
|
175
182
|
TAG_AMD64="${{ needs.version.outputs.version }}-beta-amd64"
|
|
176
183
|
TAG_ARM64="${{ needs.version.outputs.version }}-beta-arm64"
|
|
177
|
-
|
|
178
|
-
# Fixed: Use shell variable directly and 'index:' prefix to strictly target the manifest list
|
|
179
184
|
ANNOTATION="index:org.opencontainers.image.description=$DESCRIPTION"
|
|
180
185
|
|
|
181
|
-
#
|
|
186
|
+
# Manifest for :beta
|
|
182
187
|
docker buildx imagetools create -t ${{ env.GHCR_ENDPOINT }}:beta \
|
|
183
188
|
--annotation "$ANNOTATION" \
|
|
184
189
|
${{ env.GHCR_ENDPOINT }}:beta-amd64 \
|
|
185
190
|
${{ env.GHCR_ENDPOINT }}:beta-arm64
|
|
186
191
|
|
|
187
|
-
#
|
|
192
|
+
# Manifest for :version-beta
|
|
188
193
|
docker buildx imagetools create -t ${{ env.GHCR_ENDPOINT }}:${{ needs.version.outputs.version }}-beta \
|
|
189
194
|
--annotation "$ANNOTATION" \
|
|
190
195
|
${{ env.GHCR_ENDPOINT }}:${TAG_AMD64} \
|
|
@@ -33,7 +33,6 @@ jobs:
|
|
|
33
33
|
- name: Install uv
|
|
34
34
|
uses: astral-sh/setup-uv@v5
|
|
35
35
|
with:
|
|
36
|
-
# Fixed: Added glob to silence warning
|
|
37
36
|
enable-cache: true
|
|
38
37
|
cache-dependency-glob: "pyproject.toml"
|
|
39
38
|
- name: Get Version
|
|
@@ -44,6 +43,10 @@ jobs:
|
|
|
44
43
|
build-wheel:
|
|
45
44
|
name: Build Wheel
|
|
46
45
|
runs-on: ubuntu-latest
|
|
46
|
+
permissions:
|
|
47
|
+
contents: read
|
|
48
|
+
id-token: write
|
|
49
|
+
attestations: write
|
|
47
50
|
steps:
|
|
48
51
|
- uses: actions/checkout@v6
|
|
49
52
|
- uses: actions/setup-python@v5
|
|
@@ -56,6 +59,10 @@ jobs:
|
|
|
56
59
|
cache-dependency-glob: "pyproject.toml"
|
|
57
60
|
- name: Build wheel
|
|
58
61
|
run: uv build
|
|
62
|
+
- name: Generate artifact attestation
|
|
63
|
+
uses: actions/attest-build-provenance@v2
|
|
64
|
+
with:
|
|
65
|
+
subject-path: "dist/*.whl"
|
|
59
66
|
- uses: actions/upload-artifact@v4
|
|
60
67
|
with:
|
|
61
68
|
name: wheel
|
|
@@ -75,26 +82,26 @@ jobs:
|
|
|
75
82
|
- uses: actions/setup-python@v5
|
|
76
83
|
with:
|
|
77
84
|
python-version: '3.12'
|
|
85
|
+
|
|
78
86
|
- name: Install uv
|
|
79
87
|
uses: astral-sh/setup-uv@v5
|
|
80
88
|
with:
|
|
81
89
|
enable-cache: true
|
|
82
90
|
cache-dependency-glob: "pyproject.toml"
|
|
83
|
-
|
|
84
|
-
with:
|
|
85
|
-
path: ~\AppData\Local\pyinstaller
|
|
86
|
-
key: ${{ runner.os }}-pyinstaller-${{ hashFiles('pyproject.toml') }}
|
|
87
|
-
restore-keys: ${{ runner.os }}-pyinstaller-
|
|
91
|
+
|
|
88
92
|
- name: Disable Windows Defender
|
|
89
93
|
shell: powershell
|
|
90
94
|
run: Set-MpPreference -DisableRealtimeMonitoring $true
|
|
95
|
+
|
|
91
96
|
- name: Install dependencies
|
|
92
97
|
run: |
|
|
93
98
|
uv sync --group build
|
|
99
|
+
|
|
94
100
|
- name: Build exe
|
|
95
101
|
run: |
|
|
96
102
|
uv run python quasarr/providers/version.py --create-version-file
|
|
97
103
|
uv run pyinstaller --clean --onefile -y --version-file "file_version_info.txt" "Quasarr.py" -n "quasarr-${{ needs.version.outputs.version }}-standalone-win64"
|
|
104
|
+
|
|
98
105
|
- uses: actions/upload-artifact@v4
|
|
99
106
|
with:
|
|
100
107
|
name: exe-amd64
|
|
@@ -183,7 +190,6 @@ jobs:
|
|
|
183
190
|
runs-on: ubuntu-latest
|
|
184
191
|
needs: [ version, build-docker-amd64, build-docker-arm64 ]
|
|
185
192
|
steps:
|
|
186
|
-
# Fixed: Added setup-buildx-action
|
|
187
193
|
- uses: docker/setup-buildx-action@v3
|
|
188
194
|
- uses: docker/login-action@v3
|
|
189
195
|
with:
|
|
@@ -196,29 +202,23 @@ jobs:
|
|
|
196
202
|
password: ${{ secrets.GITHUB_TOKEN }}
|
|
197
203
|
- name: Create and Push Manifests
|
|
198
204
|
run: |
|
|
199
|
-
# 1. Define source tags
|
|
200
205
|
TAG_AMD64="${{ needs.version.outputs.version }}-amd64"
|
|
201
206
|
TAG_ARM64="${{ needs.version.outputs.version }}-arm64"
|
|
202
|
-
# Fixed: Added index: prefix and using shell variable
|
|
203
207
|
ANNOTATION="index:org.opencontainers.image.description=$DESCRIPTION"
|
|
204
208
|
|
|
205
|
-
# 2. Create manifest for DockerHub :latest
|
|
206
209
|
docker buildx imagetools create -t ${{ env.ENDPOINT }}:latest \
|
|
207
210
|
${{ env.ENDPOINT }}:latest-amd64 \
|
|
208
211
|
${{ env.ENDPOINT }}:latest-arm64
|
|
209
212
|
|
|
210
|
-
# 3. Create manifest for DockerHub :version
|
|
211
213
|
docker buildx imagetools create -t ${{ env.ENDPOINT }}:${{ needs.version.outputs.version }} \
|
|
212
214
|
${{ env.ENDPOINT }}:${TAG_AMD64} \
|
|
213
215
|
${{ env.ENDPOINT }}:${TAG_ARM64}
|
|
214
216
|
|
|
215
|
-
# 4. Create manifest for GHCR :latest
|
|
216
217
|
docker buildx imagetools create -t ${{ env.GHCR_ENDPOINT }}:latest \
|
|
217
218
|
--annotation "$ANNOTATION" \
|
|
218
219
|
${{ env.GHCR_ENDPOINT }}:latest-amd64 \
|
|
219
220
|
${{ env.GHCR_ENDPOINT }}:latest-arm64
|
|
220
221
|
|
|
221
|
-
# 5. Create manifest for GHCR :version
|
|
222
222
|
docker buildx imagetools create -t ${{ env.GHCR_ENDPOINT }}:${{ needs.version.outputs.version }} \
|
|
223
223
|
--annotation "$ANNOTATION" \
|
|
224
224
|
${{ env.GHCR_ENDPOINT }}:${TAG_AMD64} \
|
|
@@ -234,6 +234,7 @@ jobs:
|
|
|
234
234
|
- uses: actions/checkout@v6
|
|
235
235
|
with:
|
|
236
236
|
fetch-depth: 0
|
|
237
|
+
|
|
237
238
|
- uses: actions/download-artifact@v4
|
|
238
239
|
with:
|
|
239
240
|
name: wheel
|
|
@@ -242,6 +243,14 @@ jobs:
|
|
|
242
243
|
with:
|
|
243
244
|
name: exe-amd64
|
|
244
245
|
path: ./exe-amd64
|
|
246
|
+
|
|
247
|
+
- name: Install uv
|
|
248
|
+
uses: astral-sh/setup-uv@v5
|
|
249
|
+
|
|
250
|
+
- name: Publish to PyPI
|
|
251
|
+
if: ${{ !inputs.skip_pypi }}
|
|
252
|
+
run: uv publish ./wheel/* --token ${{ secrets.PYPI_TOKEN }}
|
|
253
|
+
|
|
245
254
|
- name: Generate changelog
|
|
246
255
|
id: changelog
|
|
247
256
|
uses: metcalfc/changelog-generator@v4.6.2
|
|
@@ -257,6 +266,7 @@ jobs:
|
|
|
257
266
|
fi
|
|
258
267
|
- name: Append changelog
|
|
259
268
|
run: echo -e "\n${{ steps.changelog.outputs.changelog }}" >> .github/Changelog.md
|
|
269
|
+
|
|
260
270
|
- name: Create Release
|
|
261
271
|
uses: ncipollo/release-action@v1
|
|
262
272
|
with:
|
|
@@ -264,9 +274,3 @@ jobs:
|
|
|
264
274
|
artifactErrorsFailBuild: true
|
|
265
275
|
bodyFile: ".github/Changelog.md"
|
|
266
276
|
tag: v.${{ needs.version.outputs.version }}
|
|
267
|
-
- name: Install uv
|
|
268
|
-
uses: astral-sh/setup-uv@v5
|
|
269
|
-
- name: Upload to PyPI
|
|
270
|
-
if: ${{ !inputs.skip_pypi }}
|
|
271
|
-
run: |
|
|
272
|
-
uv run --with twine --with packaging python -m twine upload ./wheel/* -u __token__ -p ${{ secrets.PYPI_TOKEN }}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: quasarr
|
|
3
|
-
Version: 2.4.
|
|
3
|
+
Version: 2.4.6
|
|
4
4
|
Summary: Quasarr connects JDownloader with Radarr, Sonarr and LazyLibrarian. It also decrypts links protected by CAPTCHAs.
|
|
5
5
|
Author-email: rix1337 <rix1337@users.noreply.github.com>
|
|
6
6
|
License-File: LICENSE
|
|
@@ -12,7 +12,10 @@ COPY --from=uv /uv /usr/local/bin/uv
|
|
|
12
12
|
|
|
13
13
|
# install local package
|
|
14
14
|
COPY dist/*.whl /tmp/
|
|
15
|
-
|
|
15
|
+
|
|
16
|
+
# Updated: Added cache mount for uv to speed up installation
|
|
17
|
+
RUN --mount=type=cache,target=/root/.cache/uv \
|
|
18
|
+
uv tool install /tmp/*.whl --force && rm /tmp/*.whl
|
|
16
19
|
|
|
17
20
|
# Ensure the binary is in the PATH
|
|
18
21
|
ENV PATH="/root/.local/bin:$PATH"
|
|
@@ -7,10 +7,11 @@ import os
|
|
|
7
7
|
import re
|
|
8
8
|
import time
|
|
9
9
|
import traceback
|
|
10
|
-
import unicodedata
|
|
11
10
|
from datetime import datetime, timedelta, date
|
|
12
11
|
from urllib import parse
|
|
13
12
|
|
|
13
|
+
import unicodedata
|
|
14
|
+
|
|
14
15
|
import quasarr
|
|
15
16
|
from quasarr.providers.log import info, debug
|
|
16
17
|
from quasarr.providers.myjd_api import Myjdapi, TokenExpiredException, RequestTimeoutException, MYJDException, Jddevice
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|