quasarr 1.20.4__tar.gz → 1.20.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-1.20.4 → quasarr-1.20.6}/PKG-INFO +1 -1
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/downloads/packages/__init__.py +16 -10
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/providers/version.py +1 -1
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr.egg-info/PKG-INFO +1 -1
- {quasarr-1.20.4 → quasarr-1.20.6}/LICENSE +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/README.md +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/__init__.py +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/api/__init__.py +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/api/arr/__init__.py +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/api/captcha/__init__.py +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/api/config/__init__.py +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/api/sponsors_helper/__init__.py +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/api/statistics/__init__.py +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/downloads/__init__.py +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/downloads/linkcrypters/__init__.py +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/downloads/linkcrypters/al.py +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/downloads/linkcrypters/filecrypt.py +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/downloads/linkcrypters/hide.py +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/downloads/sources/__init__.py +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/downloads/sources/al.py +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/downloads/sources/by.py +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/downloads/sources/dd.py +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/downloads/sources/dj.py +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/downloads/sources/dt.py +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/downloads/sources/dw.py +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/downloads/sources/he.py +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/downloads/sources/mb.py +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/downloads/sources/nk.py +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/downloads/sources/nx.py +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/downloads/sources/sf.py +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/downloads/sources/sj.py +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/downloads/sources/sl.py +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/downloads/sources/wd.py +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/providers/__init__.py +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/providers/cloudflare.py +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/providers/html_images.py +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/providers/html_templates.py +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/providers/imdb_metadata.py +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/providers/log.py +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/providers/myjd_api.py +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/providers/notifications.py +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/providers/obfuscated.py +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/providers/sessions/__init__.py +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/providers/sessions/al.py +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/providers/sessions/dd.py +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/providers/sessions/nx.py +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/providers/shared_state.py +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/providers/statistics.py +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/providers/web_server.py +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/search/__init__.py +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/search/sources/__init__.py +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/search/sources/al.py +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/search/sources/by.py +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/search/sources/dd.py +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/search/sources/dj.py +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/search/sources/dt.py +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/search/sources/dw.py +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/search/sources/fx.py +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/search/sources/he.py +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/search/sources/mb.py +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/search/sources/nk.py +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/search/sources/nx.py +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/search/sources/sf.py +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/search/sources/sj.py +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/search/sources/sl.py +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/search/sources/wd.py +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/storage/__init__.py +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/storage/config.py +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/storage/setup.py +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr/storage/sqlite_database.py +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr.egg-info/SOURCES.txt +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr.egg-info/dependency_links.txt +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr.egg-info/entry_points.txt +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr.egg-info/not-zip-safe +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr.egg-info/requires.txt +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/quasarr.egg-info/top_level.txt +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/setup.cfg +0 -0
- {quasarr-1.20.4 → quasarr-1.20.6}/setup.py +0 -0
|
@@ -158,7 +158,7 @@ def get_packages(shared_state):
|
|
|
158
158
|
if linkgrabber_packages:
|
|
159
159
|
for package in linkgrabber_packages:
|
|
160
160
|
comment = get_links_comment(package, shared_state.get_device().linkgrabber.query_links())
|
|
161
|
-
link_details = get_links_status(package, linkgrabber_links)
|
|
161
|
+
link_details = get_links_status(package, linkgrabber_links, is_archive=False)
|
|
162
162
|
|
|
163
163
|
error = link_details["error"]
|
|
164
164
|
offline_mirror_linkids = link_details["offline_mirror_linkids"]
|
|
@@ -191,15 +191,28 @@ def get_packages(shared_state):
|
|
|
191
191
|
for package in downloader_packages:
|
|
192
192
|
comment = get_links_comment(package, downloader_links)
|
|
193
193
|
|
|
194
|
+
# Check if package is actually archived/extracted using archive info
|
|
194
195
|
try:
|
|
195
196
|
archive_info = shared_state.get_device().extraction.get_archive_info([], [package.get("uuid")])
|
|
196
197
|
is_archive = True if archive_info and archive_info[0] else False
|
|
197
198
|
except:
|
|
198
|
-
is_archive = True
|
|
199
|
+
is_archive = True # in case of error assume archive to avoid false finished state
|
|
200
|
+
|
|
199
201
|
link_details = get_links_status(package, downloader_links, is_archive)
|
|
200
202
|
|
|
201
203
|
error = link_details["error"]
|
|
202
204
|
finished = link_details["all_finished"]
|
|
205
|
+
|
|
206
|
+
# Additional check for non-archive packages or when link status check fails
|
|
207
|
+
# If download is 100% complete and no ETA, it's finished
|
|
208
|
+
if not finished and not error and not is_archive:
|
|
209
|
+
bytes_total = int(package.get("bytesTotal", 0))
|
|
210
|
+
bytes_loaded = int(package.get("bytesLoaded", 0))
|
|
211
|
+
eta = package.get("eta")
|
|
212
|
+
|
|
213
|
+
if bytes_total > 0 and bytes_loaded >= bytes_total and eta is None:
|
|
214
|
+
finished = True
|
|
215
|
+
|
|
203
216
|
if not finished and link_details["eta"]:
|
|
204
217
|
package["eta"] = link_details["eta"]
|
|
205
218
|
|
|
@@ -257,15 +270,8 @@ def get_packages(shared_state):
|
|
|
257
270
|
if mb_left < 0:
|
|
258
271
|
mb_left = 0
|
|
259
272
|
|
|
260
|
-
# Check if package is actually finished (should be in history, not queue)
|
|
261
|
-
# This handles the case where finished packages haven't been moved to history yet
|
|
262
273
|
if eta is None:
|
|
263
|
-
|
|
264
|
-
# Check if download is complete
|
|
265
|
-
if bytes_total > 0 and bytes_loaded >= bytes_total:
|
|
266
|
-
status = "Completed"
|
|
267
|
-
else:
|
|
268
|
-
status = "Paused"
|
|
274
|
+
status = "Paused"
|
|
269
275
|
else:
|
|
270
276
|
time_left = format_eta(int(eta))
|
|
271
277
|
if mb_left == 0:
|
|
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
|