quasarr 2.7.0__tar.gz → 2.7.2__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.7.0 → quasarr-2.7.2}/.github/workflows/Release.yml +6 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/CONTRIBUTING.md +15 -6
- {quasarr-2.7.0 → quasarr-2.7.2}/PKG-INFO +1 -1
- quasarr-2.7.2/cli_tester.py +955 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/docker/Dockerfile +1 -1
- quasarr-2.7.2/docker/dev-services-compose.yml +100 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/pyproject.toml +2 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/api/arr/__init__.py +17 -112
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/downloads/linkcrypters/al.py +1 -1
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/providers/cloudflare.py +1 -1
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/providers/imdb_metadata.py +1 -1
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/providers/shared_state.py +1 -1
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/providers/version.py +1 -1
- quasarr-2.7.2/quasarr/search/__init__.py +319 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/search/sources/dj.py +55 -52
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/search/sources/mb.py +15 -18
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/search/sources/sf.py +1 -1
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/search/sources/sj.py +55 -52
- {quasarr-2.7.0 → quasarr-2.7.2}/uv.lock +71 -0
- quasarr-2.7.0/docker/dev-services-compose.yml +0 -98
- quasarr-2.7.0/quasarr/search/__init__.py +0 -267
- {quasarr-2.7.0 → quasarr-2.7.2}/.env.example +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/.github/FUNDING.yml +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/.github/workflows/HostnameRedaction.yml +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/.github/workflows/PullRequests.yml +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/.gitignore +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/.pre-commit-config.yaml +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/LICENSE +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/Quasarr.png +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/Quasarr.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/README.md +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/docker/docker-compose.yml +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/pre-commit.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/__init__.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/api/__init__.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/api/captcha/__init__.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/api/config/__init__.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/api/jdownloader/__init__.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/api/packages/__init__.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/api/sponsors_helper/__init__.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/api/statistics/__init__.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/downloads/__init__.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/downloads/linkcrypters/__init__.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/downloads/linkcrypters/filecrypt.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/downloads/linkcrypters/hide.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/downloads/packages/__init__.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/downloads/sources/__init__.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/downloads/sources/al.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/downloads/sources/by.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/downloads/sources/dd.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/downloads/sources/dj.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/downloads/sources/dl.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/downloads/sources/dt.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/downloads/sources/dw.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/downloads/sources/he.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/downloads/sources/hs.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/downloads/sources/mb.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/downloads/sources/nk.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/downloads/sources/nx.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/downloads/sources/sf.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/downloads/sources/sj.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/downloads/sources/sl.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/downloads/sources/wd.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/downloads/sources/wx.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/providers/__init__.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/providers/auth.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/providers/hostname_issues.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/providers/html_images.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/providers/html_templates.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/providers/jd_cache.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/providers/log.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/providers/myjd_api.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/providers/notifications.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/providers/obfuscated.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/providers/sessions/__init__.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/providers/sessions/al.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/providers/sessions/dd.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/providers/sessions/dl.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/providers/sessions/nx.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/providers/statistics.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/providers/utils.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/providers/web_server.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/search/sources/__init__.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/search/sources/al.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/search/sources/by.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/search/sources/dd.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/search/sources/dl.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/search/sources/dt.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/search/sources/dw.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/search/sources/fx.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/search/sources/he.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/search/sources/hs.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/search/sources/nk.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/search/sources/nx.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/search/sources/sl.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/search/sources/wd.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/search/sources/wx.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/storage/__init__.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/storage/config.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/storage/setup.py +0 -0
- {quasarr-2.7.0 → quasarr-2.7.2}/quasarr/storage/sqlite_database.py +0 -0
|
@@ -157,8 +157,10 @@ jobs:
|
|
|
157
157
|
tags: |
|
|
158
158
|
${{ env.ENDPOINT }}:latest-amd64
|
|
159
159
|
${{ env.ENDPOINT }}:${{ needs.version.outputs.version }}-amd64
|
|
160
|
+
${{ env.ENDPOINT }}:beta-amd64
|
|
160
161
|
${{ env.GHCR_ENDPOINT }}:latest-amd64
|
|
161
162
|
${{ env.GHCR_ENDPOINT }}:${{ needs.version.outputs.version }}-amd64
|
|
163
|
+
${{ env.GHCR_ENDPOINT }}:beta-amd64
|
|
162
164
|
build-args: VS=${{ needs.version.outputs.version }}
|
|
163
165
|
cache-from: type=gha,scope=amd64
|
|
164
166
|
cache-to: type=gha,mode=max,scope=amd64
|
|
@@ -197,8 +199,10 @@ jobs:
|
|
|
197
199
|
tags: |
|
|
198
200
|
${{ env.ENDPOINT }}:latest-arm64
|
|
199
201
|
${{ env.ENDPOINT }}:${{ needs.version.outputs.version }}-arm64
|
|
202
|
+
${{ env.ENDPOINT }}:beta-arm64
|
|
200
203
|
${{ env.GHCR_ENDPOINT }}:latest-arm64
|
|
201
204
|
${{ env.GHCR_ENDPOINT }}:${{ needs.version.outputs.version }}-arm64
|
|
205
|
+
${{ env.GHCR_ENDPOINT }}:beta-arm64
|
|
202
206
|
build-args: VS=${{ needs.version.outputs.version }}
|
|
203
207
|
cache-from: type=gha,scope=arm64
|
|
204
208
|
cache-to: type=gha,mode=max,scope=arm64
|
|
@@ -227,8 +231,10 @@ jobs:
|
|
|
227
231
|
ANNOTATION="index:org.opencontainers.image.description=$DESCRIPTION"
|
|
228
232
|
docker buildx imagetools create -t ${{ env.ENDPOINT }}:latest ${{ env.ENDPOINT }}:latest-amd64 ${{ env.ENDPOINT }}:latest-arm64
|
|
229
233
|
docker buildx imagetools create -t ${{ env.ENDPOINT }}:${{ needs.version.outputs.version }} ${{ env.ENDPOINT }}:${TAG_AMD64} ${{ env.ENDPOINT }}:${TAG_ARM64}
|
|
234
|
+
docker buildx imagetools create -t ${{ env.ENDPOINT }}:beta ${{ env.ENDPOINT }}:beta-amd64 ${{ env.ENDPOINT }}:beta-arm64
|
|
230
235
|
docker buildx imagetools create -t ${{ env.GHCR_ENDPOINT }}:latest --annotation "$ANNOTATION" ${{ env.GHCR_ENDPOINT }}:latest-amd64 ${{ env.GHCR_ENDPOINT }}:latest-arm64
|
|
231
236
|
docker buildx imagetools create -t ${{ env.GHCR_ENDPOINT }}:${{ needs.version.outputs.version }} --annotation "$ANNOTATION" ${{ env.GHCR_ENDPOINT }}:${TAG_AMD64} ${{ env.GHCR_ENDPOINT }}:${TAG_ARM64}
|
|
237
|
+
docker buildx imagetools create -t ${{ env.GHCR_ENDPOINT }}:beta --annotation "$ANNOTATION" ${{ env.GHCR_ENDPOINT }}:beta-amd64 ${{ env.GHCR_ENDPOINT }}:beta-arm64
|
|
232
238
|
|
|
233
239
|
release:
|
|
234
240
|
name: Create Release
|
|
@@ -16,15 +16,12 @@ Install the pre-commit hook that ensures linting, formatting and version upgrade
|
|
|
16
16
|
uv run pre-commit install
|
|
17
17
|
```
|
|
18
18
|
|
|
19
|
-
**2. Run Quasarr
|
|
19
|
+
**2. Run Quasarr**
|
|
20
20
|
|
|
21
21
|
```bash
|
|
22
|
-
uv run Quasarr.py
|
|
22
|
+
uv run Quasarr.py
|
|
23
23
|
```
|
|
24
24
|
|
|
25
|
-
Replace `<host-ip>` and `<port>` with the scheme, IP, and port of your host machine.
|
|
26
|
-
The `--internal_address` parameter is **mandatory**.
|
|
27
|
-
|
|
28
25
|
**3. Start the required services using the `dev-services-compose.yml` file**
|
|
29
26
|
|
|
30
27
|
```bash
|
|
@@ -34,12 +31,24 @@ CONFIG_VOLUMES=/path/to/config docker-compose -f docker/dev-services-compose.yml
|
|
|
34
31
|
Replace `/path/to/config` with your desired configuration location.
|
|
35
32
|
The `CONFIG_VOLUMES` environment variable is **mandatory**.
|
|
36
33
|
|
|
34
|
+
By default only JDownloader and Flaresolverr are enabled. See next step how to emulate supported *arr services.
|
|
35
|
+
|
|
36
|
+
**4. Validate your changes**
|
|
37
|
+
|
|
38
|
+
Use the `cli_tester.py` script to simulate Radarr, Sonarr, and LazyLibrarian interactions.
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
uv run cli_tester.py
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
This tool allows you to test searches, feeds, and downloads without needing the full stack of services running.
|
|
45
|
+
|
|
37
46
|
---
|
|
38
47
|
|
|
39
48
|
### Code Quality & Maintenance
|
|
40
49
|
|
|
41
50
|
The CI pipeline enforces strict code styling and import optimization. Please run this commands before pushing your
|
|
42
|
-
changes. Alternatively,
|
|
51
|
+
changes. Alternatively, set up the pre-commit hook as described above.
|
|
43
52
|
|
|
44
53
|
**Format code AND upgrade dependencie manually:**
|
|
45
54
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: quasarr
|
|
3
|
-
Version: 2.7.
|
|
3
|
+
Version: 2.7.2
|
|
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
|