quasarr 2.4.9__py3-none-any.whl → 2.4.11__py3-none-any.whl

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/__init__.py CHANGED
@@ -15,7 +15,7 @@ import requests
15
15
  import quasarr.providers.web_server
16
16
  from quasarr.api import get_api
17
17
  from quasarr.providers import shared_state, version
18
- from quasarr.providers.log import debug, info
18
+ from quasarr.providers.log import info
19
19
  from quasarr.providers.notifications import send_discord_message
20
20
  from quasarr.providers.utils import (
21
21
  FALLBACK_USER_AGENT,
@@ -194,7 +194,7 @@ def run():
194
194
  print(
195
195
  f"You have [{len(hostnames)} of {len(Config._DEFAULT_CONFIG['Hostnames'])}] supported hostnames set up"
196
196
  )
197
- print(f"For efficiency it is recommended to set up as few hostnames as needed.")
197
+ print("For efficiency it is recommended to set up as few hostnames as needed.")
198
198
 
199
199
  # Check credentials for login-required hostnames
200
200
  skip_login_db = DataBase("skip_login")
@@ -243,7 +243,7 @@ def run():
243
243
  discord_webhook_pattern = r"^https://discord\.com/api/webhooks/\d+/[\w-]+$"
244
244
  if re.match(discord_webhook_pattern, arguments.discord):
245
245
  shared_state.update("webhook", arguments.discord)
246
- print(f"Using Discord Webhook URL for notifications.")
246
+ print("Using Discord Webhook URL for notifications.")
247
247
  discord_url = arguments.discord
248
248
  else:
249
249
  print(f"Invalid Discord Webhook URL provided: {arguments.discord}")
quasarr/api/__init__.py CHANGED
@@ -486,6 +486,6 @@ def get_api(shared_state_dict, shared_state_lock):
486
486
  @app.get("/regenerate-api-key")
487
487
  def regenerate_api_key():
488
488
  shared_state.generate_api_key()
489
- return render_success(f"API Key replaced!", 5)
489
+ return render_success("API Key replaced!", 5)
490
490
 
491
491
  Server(app, listen="0.0.0.0", port=shared_state.values["port"]).serve_forever()
@@ -165,7 +165,7 @@ def setup_captcha_routes(app):
165
165
  debug("Redirecting to ToLink CAPTCHA")
166
166
  redirect(f"/captcha/tolink?data={quote(encoded_payload)}")
167
167
  else:
168
- debug(f"Redirecting to cutcaptcha")
168
+ debug("Redirecting to cutcaptcha")
169
169
  redirect(f"/captcha/cutcaptcha?data={quote(encoded_payload)}")
170
170
 
171
171
  return render_centered_html(f'''<h1><img src="{images.logo}" type="image/png" alt="Quasarr logo" class="logo"/>Quasarr</h1>
@@ -321,7 +321,7 @@ def setup_config(app, shared_state):
321
321
  f"FlareSolverr returned unexpected status: {json_data.get('status')}"
322
322
  )
323
323
  except requests.RequestException:
324
- return render_fail(f"Could not reach FlareSolverr!")
324
+ return render_fail("Could not reach FlareSolverr!")
325
325
 
326
326
  return render_fail(
327
327
  "Could not reach FlareSolverr at that URL (expected HTTP 200)."
@@ -27,7 +27,7 @@ def setup_sponsors_helper_routes(app):
27
27
  try:
28
28
  if not shared_state.values["helper_active"]:
29
29
  shared_state.update("helper_active", True)
30
- info(f"Sponsor status activated successfully")
30
+ info("Sponsor status activated successfully")
31
31
 
32
32
  protected = shared_state.get_db("protected").retrieve_all_titles()
33
33
  if not protected:
@@ -174,7 +174,7 @@ def setup_sponsors_helper_routes(app):
174
174
  payload = json.loads(data)
175
175
  if payload["activate"]:
176
176
  shared_state.update("helper_active", True)
177
- info(f"Sponsor status activated successfully")
177
+ info("Sponsor status activated successfully")
178
178
  return "Sponsor status activated successfully!"
179
179
  except:
180
180
  pass
@@ -169,7 +169,7 @@ def decrypt_links_if_hide(shared_state: Any, items: List[List[str]]) -> Dict[str
169
169
  continue
170
170
 
171
171
  if not decrypted_links:
172
- info(f"Could not decrypt any links from hide.cx URLs.")
172
+ info("Could not decrypt any links from hide.cx URLs.")
173
173
  return {"status": "error", "results": []}
174
174
 
175
175
  return {"status": "success", "results": decrypted_links}
@@ -197,7 +197,7 @@ def get_links_status(package, all_links, is_archive=False):
197
197
  break
198
198
 
199
199
  if has_extraction_activity:
200
- debug(f"get_links_status: Package has extraction activity detected")
200
+ debug("get_links_status: Package has extraction activity detected")
201
201
 
202
202
  # Second pass: check each link's status
203
203
  for link in links_in_package:
@@ -856,7 +856,7 @@ def delete_package(shared_state, package_id):
856
856
  )
857
857
  else:
858
858
  debug(
859
- f"delete_package: No link IDs found for linkgrabber package"
859
+ "delete_package: No link IDs found for linkgrabber package"
860
860
  )
861
861
 
862
862
  elif package_type == "downloader":
@@ -879,7 +879,7 @@ def delete_package(shared_state, package_id):
879
879
  debug(f"delete_package: Downloads cleanup failed: {e}")
880
880
  else:
881
881
  debug(
882
- f"delete_package: No link IDs found for downloader package"
882
+ "delete_package: No link IDs found for downloader package"
883
883
  )
884
884
 
885
885
  # Always clean up database entries (no state check - just clean whatever exists)
@@ -889,7 +889,7 @@ def delete_package(shared_state, package_id):
889
889
  try:
890
890
  shared_state.get_db("failed").delete(package_id)
891
891
  debug(
892
- f"delete_package: Deleted from failed DB (or was not present)"
892
+ "delete_package: Deleted from failed DB (or was not present)"
893
893
  )
894
894
  except Exception as e:
895
895
  debug(
@@ -898,7 +898,7 @@ def delete_package(shared_state, package_id):
898
898
  try:
899
899
  shared_state.get_db("protected").delete(package_id)
900
900
  debug(
901
- f"delete_package: Deleted from protected DB (or was not present)"
901
+ "delete_package: Deleted from protected DB (or was not present)"
902
902
  )
903
903
  except Exception as e:
904
904
  debug(
@@ -754,7 +754,7 @@ def get_al_download_links(shared_state, url, mirror, title, password):
754
754
  break
755
755
  else:
756
756
  info(
757
- f"CAPTCHA was solved, but no links are available for the selection!"
757
+ "CAPTCHA was solved, but no links are available for the selection!"
758
758
  )
759
759
  StatsHelper(
760
760
  shared_state
@@ -70,7 +70,7 @@ def get_dw_download_links(shared_state, url, mirror, title, password):
70
70
  button.nextSibling.img["src"].split("/")[-1].replace(".png", "")
71
71
  )
72
72
  hoster = (
73
- f"1fichier" if hoster.startswith("fichier") else hoster
73
+ "1fichier" if hoster.startswith("fichier") else hoster
74
74
  ) # align with expected mirror name
75
75
  if mirror and mirror.lower() not in hoster.lower():
76
76
  debug(
@@ -130,7 +130,7 @@ def get_sf_download_links(shared_state, url, mirror, title, password):
130
130
  + sf
131
131
  + "/api/v1/"
132
132
  + season_id
133
- + f"/season/ALL?lang=ALL&_="
133
+ + "/season/ALL?lang=ALL&_="
134
134
  + epoch
135
135
  )
136
136
  r = requests.get(api_url, headers=headers, timeout=10)
@@ -71,7 +71,7 @@ def send_discord_message(
71
71
  fields.append(
72
72
  {
73
73
  "name": "SponsorsHelper",
74
- "value": f"[Sponsors get automated CAPTCHA solutions!](https://github.com/rix1337/Quasarr?tab=readme-ov-file#sponsorshelper)",
74
+ "value": "[Sponsors get automated CAPTCHA solutions!](https://github.com/rix1337/Quasarr?tab=readme-ov-file#sponsorshelper)",
75
75
  }
76
76
  )
77
77
  elif case == "quasarr_update":
@@ -212,8 +212,6 @@ def connect_device():
212
212
 
213
213
  def get_device():
214
214
  attempts = 0
215
- last_backoff_change = 0 # Track when we last changed backoff strategy
216
-
217
215
  while True:
218
216
  try:
219
217
  if check_device(values["device"]):
@@ -951,14 +949,10 @@ def _month_num(name: str) -> int:
951
949
  "january": 1,
952
950
  "february": 2,
953
951
  "march": 3,
954
- "april": 4,
955
952
  "may": 5,
956
953
  "june": 6,
957
954
  "july": 7,
958
- "august": 8,
959
- "september": 9,
960
955
  "october": 10,
961
- "november": 11,
962
956
  "december": 12,
963
957
  }
964
958
  return mmap.get(name)
@@ -5,7 +5,7 @@
5
5
  import re
6
6
  import sys
7
7
 
8
- __version__ = "2.4.9"
8
+ __version__ = "2.4.11"
9
9
 
10
10
 
11
11
  def get_version():
@@ -23,11 +23,6 @@ hostname = "al"
23
23
  supported_mirrors = ["rapidgator", "ddownload"]
24
24
 
25
25
 
26
- def convert_to_rss_date(date_str: str) -> str:
27
- parsed = datetime.strptime(date_str, "%d.%m.%Y - %H:%M")
28
- return parsed.strftime("%a, %d %b %Y %H:%M:%S +0000")
29
-
30
-
31
26
  import re
32
27
  from datetime import datetime, timedelta
33
28
 
@@ -28,7 +28,6 @@ def parse_posted_ago(txt):
28
28
  return ""
29
29
  value = int(m.group(1))
30
30
  unit = m.group(2).lower()
31
- now = datetime.utcnow()
32
31
  if unit.startswith("sec"):
33
32
  delta = timedelta(seconds=value)
34
33
  elif unit.startswith("min"):
@@ -210,7 +209,7 @@ def he_search(
210
209
  continue
211
210
  else:
212
211
  debug(f"{hostname}: imdb link not found for title {title}")
213
- except Exception as e:
212
+ except Exception:
214
213
  debug(f"{hostname}: failed to determine imdb_id for title {title}")
215
214
  continue
216
215
 
@@ -21,7 +21,7 @@ class DataBase(object):
21
21
  ).fetchall():
22
22
  self._conn.execute(f"CREATE TABLE {self._table} (key, value)")
23
23
  self._conn.commit()
24
- except sqlite3.OperationalError as e:
24
+ except sqlite3.OperationalError:
25
25
  try:
26
26
  time.sleep(5)
27
27
  self._conn = sqlite3.connect(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: quasarr
3
- Version: 2.4.9
3
+ Version: 2.4.11
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
@@ -243,11 +243,12 @@ Most feature requests can be satisfied by:
243
243
  [here](https://github.com/rix1337/Quasarr/pulls).
244
244
  - **Pull requests are welcome!** Especially for popular hostnames.
245
245
  - A short guide to set up required dev services is found
246
- in [/docker/dev-setup.md](https://github.com/rix1337/Quasarr/blob/main/docker/dev-setup.md)
246
+ [here](https://github.com/rix1337/Quasarr/blob/main/CONTRIBUTING.md).
247
247
  - Always reach out on Discord before starting work on a new feature to prevent waste of time.
248
248
  - Please follow the existing code style and project structure.
249
249
  - Anti-bot measures must be circumvented fully by Quasarr. Thus, you will need to provide a working solution for new
250
250
  CAPTCHA types by integrating it in the Quasarr Web UI.
251
+ The simplest CAPTCHA bypass involves creating a Tampermonkey user script.
251
252
  - Please provide proof of functionality (screenshots/examples) when submitting your pull request.
252
253
 
253
254
  # SponsorsHelper
@@ -1,30 +1,30 @@
1
- quasarr/__init__.py,sha256=u4D3oZek7ehZnAq9hxfc5qE1tsAos_6WFkTwhmDs1z8,17146
2
- quasarr/api/__init__.py,sha256=WlYGasIsSf8hEAy5cs-ypO3e99ThDEVCuRUivaLgt_4,19800
1
+ quasarr/__init__.py,sha256=da03581ho1rtPtd-62bpAybQPamSQm3ONivCF4_kT1k,17137
2
+ quasarr/api/__init__.py,sha256=wXBTR31hZzEaKU7wEeH0qUy4hAeTJ7DUH2kAGkInYhw,19799
3
3
  quasarr/api/arr/__init__.py,sha256=NzyzFmRSGwGwg-wmyxa-EzXda1i6W59r4ZbRe5ireJc,18156
4
- quasarr/api/captcha/__init__.py,sha256=H6bNdvvlECF5Yy65HoZtrkhlsC7hzas94eVrDuYsrq0,75527
5
- quasarr/api/config/__init__.py,sha256=kumD2xHg0U9gaZ3ZVE5WUDSDu9oda51glvx4g5RQNlg,14559
4
+ quasarr/api/captcha/__init__.py,sha256=NQW5qe_ykttD-3pRimB50oIA3n3KGO0jDKeEgia2IE4,75526
5
+ quasarr/api/config/__init__.py,sha256=RJG5NpSrpuLPqSJuAF-OwnZuyW00V8Gjy-8TOjM6PNg,14558
6
6
  quasarr/api/packages/__init__.py,sha256=DOupHd2xlpzEC23ZM3R7jHJqSPL2BAkR4p8J8DAgkkI,31066
7
- quasarr/api/sponsors_helper/__init__.py,sha256=aJGqQJlMNBcdAhhcEGhYq2ryD93T2nLq5Wk6zTXHp6M,6477
7
+ quasarr/api/sponsors_helper/__init__.py,sha256=QAFXK_JTtAnstRAlieCbbCsoTwIcBu7ZX8C3U4jZpR0,6475
8
8
  quasarr/api/statistics/__init__.py,sha256=rJz6S4jSnpFDWtjU7O-2jECUEqlueOHOEfRUjSb3cMY,7943
9
9
  quasarr/downloads/__init__.py,sha256=dSgOGiv_PPj5B5NUQGYS5Ej4YSvNqjTIhJgUBhUfqMc,17187
10
10
  quasarr/downloads/linkcrypters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
11
  quasarr/downloads/linkcrypters/al.py,sha256=0tgzTwoNjizeIfVoWyJIihlKVg3T5qOmLBJJKAPFfxY,8983
12
12
  quasarr/downloads/linkcrypters/filecrypt.py,sha256=SRUToJ5PpjWNL4n40Q8CYqxLYkyOMd1ce2QJGc1bqRE,17811
13
- quasarr/downloads/linkcrypters/hide.py,sha256=5CDFUpKBXEYhWJEXlbVwyr_-WrzkvAd93uf3Hyqc3Dw,6267
14
- quasarr/downloads/packages/__init__.py,sha256=O1LWloUjMkD6HGpzoTrS9VLcfLxWNdLXhCP8ccfdQik,35970
13
+ quasarr/downloads/linkcrypters/hide.py,sha256=t9p_Hb5taJDuRAPaWZw7T1GTcLVgd8keD9LlZJ1-Gsg,6266
14
+ quasarr/downloads/packages/__init__.py,sha256=7B3Fx6nqSweANA4i7YRmA2gwuyM4fZCuEeWsPpkQPM8,35965
15
15
  quasarr/downloads/sources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
- quasarr/downloads/sources/al.py,sha256=U8Zf5j7F2fj2d5YZPMetLhaGv5GXEu7ojwRArxysJOA,29346
16
+ quasarr/downloads/sources/al.py,sha256=yOCuAoZQq0-89Vw69Eb6zeSslbnilTn2C6kyBQ7OKW8,29345
17
17
  quasarr/downloads/sources/by.py,sha256=hAGY9Z3eRADLjM0OEknNTFdLjJJvOsQzvGti1vp8M2A,4616
18
18
  quasarr/downloads/sources/dd.py,sha256=552p2V9HcfVPcoAuBddJe9DblVaIxH1-R2xZ8njEW34,3600
19
19
  quasarr/downloads/sources/dj.py,sha256=QGfiZMcwgcMgT91hSV-MxD3tW3Wbm0ULZSfBZTh9TBM,390
20
20
  quasarr/downloads/sources/dl.py,sha256=HYdlRhBhG5TjK6NadrUwBLI532LdL87gpXbAJY_7TkA,15655
21
21
  quasarr/downloads/sources/dt.py,sha256=12Iiwr3ZMUivHDG4bjJHyM5vx3Dmfu3IKDd13sYKlUg,3166
22
- quasarr/downloads/sources/dw.py,sha256=9p1nlwyXnTjADKvAnr5ZMtL7KDWNpwfJODHgYZ_7jVw,2994
22
+ quasarr/downloads/sources/dw.py,sha256=LgkHlYbA2nifLMMuoqZPpun-dLsmTYqIIhM6BB7i898,2993
23
23
  quasarr/downloads/sources/he.py,sha256=uTsZlPYvRo9lHjNCviSEDzde8IoLnf9VGE-b-S7VJ7s,4062
24
24
  quasarr/downloads/sources/mb.py,sha256=nKO8y0fj-LP9QTXJs0Wxw21yXqe7N6xEYJ9UK2_mPeE,1947
25
25
  quasarr/downloads/sources/nk.py,sha256=qNdQqoP6czgypf3sPcoxDl6fIwrMWAzNv6rKXIKlpWc,2104
26
26
  quasarr/downloads/sources/nx.py,sha256=Kn3Nn87NcrKada3j8jpTlunKJ7-ggDyQOiRSoCdxySk,3670
27
- quasarr/downloads/sources/sf.py,sha256=EE1IQGzVfsTGnSGtolxQfXYcrxpbvmUw4vhYgxo5uAw,6928
27
+ quasarr/downloads/sources/sf.py,sha256=f_jC4Shnl2GWCro6JcBLjbmZA8nSPVPr4vdf0WR_r7k,6927
28
28
  quasarr/downloads/sources/sj.py,sha256=h3x7F8UUPvcyTf6gkKn6fBLTFeQjvqD7MJ1TtuiqhUU,390
29
29
  quasarr/downloads/sources/sl.py,sha256=G5TehRfrdlNT-jJ1PiSEzq1IWqL2UCq73LIMqvYef2c,3573
30
30
  quasarr/downloads/sources/wd.py,sha256=mUFvH1OptEOBfQMw6TmucfC-Da8lpf-ThLGyK1oh_Xc,5135
@@ -39,12 +39,12 @@ quasarr/providers/imdb_metadata.py,sha256=ZKnB7Ep3cjeCnie6-NCoYwTQzWb4mlm5NUUL95
39
39
  quasarr/providers/jd_cache.py,sha256=l9eNNUZhadygQ2HvhHPjW4IfFTzJOZNStSdi7tNfzkQ,14724
40
40
  quasarr/providers/log.py,sha256=wn-cQVbWFxjFXRR4TlBiDnFB3SxaJrGKX-NKg5OjUvw,313
41
41
  quasarr/providers/myjd_api.py,sha256=06NWo8MqRHp9fU363OhcXQGHLKxsnMSygu-4JdtGrrs,34225
42
- quasarr/providers/notifications.py,sha256=g07Dh2nYswHZOrMk_VXrkz6PFIk9EebpUg_jfYL8CBw,4895
42
+ quasarr/providers/notifications.py,sha256=fL0HQdk7jBLXToM_URQiJq6y2UAHs0RzMFMCFdb3SHQ,4894
43
43
  quasarr/providers/obfuscated.py,sha256=IAN0-5m6UblLjaFdPhRy75ryqDMF0nlbkClq5-n1bQQ,2275634
44
- quasarr/providers/shared_state.py,sha256=G2Sphd_KMlDi8rSdXglhLauVcgh2ipIJDdgEB-8Ofwk,32855
44
+ quasarr/providers/shared_state.py,sha256=PtViw25o-3mYTbFfbJpGb2F_QB8TNy4Ov1Jb8JAR09A,32690
45
45
  quasarr/providers/statistics.py,sha256=1X_Aa7TE3W7ovwkemVMsgIx55Jw3eYMiyUxuCUDgO5s,8666
46
46
  quasarr/providers/utils.py,sha256=YXW34xi8569-Tr-cpr8GyOCrWvZ_GKWrX5x0-sxMpOU,12169
47
- quasarr/providers/version.py,sha256=nXgUUvAL0BlYvjPsPbr10DVnbC7GvW8uE-EYhJAYMLA,4424
47
+ quasarr/providers/version.py,sha256=FCtZ1LquNQGCDy_gVqwaobA-JA8uT8Iw9r4ucl1JR3w,4425
48
48
  quasarr/providers/web_server.py,sha256=tHkMxhV6eaHC8cWsEpbUqD_U29IFE24VsU6tjk-xCEM,1765
49
49
  quasarr/providers/sessions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
50
50
  quasarr/providers/sessions/al.py,sha256=VvqqgmwzZfCI_pIvzxvdaIvuBiqANbkkiJNEOBKW3zA,13456
@@ -53,7 +53,7 @@ quasarr/providers/sessions/dl.py,sha256=fKnakgGp0vhTRYP2m4HWbcX3ZuqaqSqoRNtismtU
53
53
  quasarr/providers/sessions/nx.py,sha256=qY1i0Nxx32S8j2QQEP6SHn5XxZmic7shyaBuaVAxV34,3513
54
54
  quasarr/search/__init__.py,sha256=z8I72kHzOS2qrR0IZIZXZMTBMmA7c52b9ob-Kure1iw,5972
55
55
  quasarr/search/sources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
56
- quasarr/search/sources/al.py,sha256=jOFs8KBpKvr9Pd2ctxyVziI7OfSO2okNFVuetk_TGMk,18447
56
+ quasarr/search/sources/al.py,sha256=BvVL4RoPpObhS2TVms4rPvs_kdoIrYkiyG22PdA0g3E,18279
57
57
  quasarr/search/sources/by.py,sha256=jakh4w3u9NQrGhV2t3ZwsS9ZKgE2_dcYyd9pPUH4cQo,8926
58
58
  quasarr/search/sources/dd.py,sha256=GdXalOUK1YPzqrHP7G4djnAGNUbqJdOjFFFQ9aMG4ls,5725
59
59
  quasarr/search/sources/dj.py,sha256=f-snv7zPYdmQM50XUiGCjHtwl0JnnJ-1R-GW1sjaJH0,7825
@@ -61,7 +61,7 @@ quasarr/search/sources/dl.py,sha256=eyYAZz0MfvrizWxvqsVBoupy-kg2mKc42TAdB_rXK4k,
61
61
  quasarr/search/sources/dt.py,sha256=i_JSxydoASLlTRRhPk5av0fgzw1xhtAkjeF2_7KxbkM,10675
62
62
  quasarr/search/sources/dw.py,sha256=ZRWwA4PljLMyBqN1V9SThcL9Bc4KzR4k-7F2LecIMeM,8803
63
63
  quasarr/search/sources/fx.py,sha256=J2yUn8_1zMgPlJ9RPeBXoVD-KhSwj97CUQaVMgs8N3U,10297
64
- quasarr/search/sources/he.py,sha256=8CzM1ZOhPlG-ahzNvb459WAqWb1CHNDgxTyhnd1V-IA,7799
64
+ quasarr/search/sources/he.py,sha256=X-eyVWkDXsKjXDBLRGoFiA5qA8Z4NeO-jJfygnxnWZg,7762
65
65
  quasarr/search/sources/mb.py,sha256=DaNOppqCNVtkGamBbULlT04UP9AzJh-nDPycYrU1Kz4,8476
66
66
  quasarr/search/sources/nk.py,sha256=vU9aK2EjjR6ZF1QP4r4CzcF1qO7LEjuZ_qsf_nKvSc4,7554
67
67
  quasarr/search/sources/nx.py,sha256=ABc_B6Pi_SBKGvHhZRq5bdMGX_oeRCULGbEbpQQUh60,7908
@@ -73,9 +73,9 @@ quasarr/search/sources/wx.py,sha256=KLMUbnh3SGrWsQq3YyI9LRq4VjDj_JmjXU4-fMqxDMk,
73
73
  quasarr/storage/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
74
74
  quasarr/storage/config.py,sha256=lvh3Vtf6pQ_ZIyH9TrHzcifRKkzq8QsV61xDhbrOpog,6584
75
75
  quasarr/storage/setup.py,sha256=5Hmm6ehuJAGOLRGMArmJ7noS-BFDC4rfnQI6sucLTXo,49726
76
- quasarr/storage/sqlite_database.py,sha256=c68ifKH0wBlWlwbpEDEALvV6cuq-PhTkHb3jecuQ0-c,3644
77
- quasarr-2.4.9.dist-info/METADATA,sha256=ZAvOV_4BHfe0T2OSKJWGQTlXWMnq45_3lrKLtpPm338,14669
78
- quasarr-2.4.9.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
79
- quasarr-2.4.9.dist-info/entry_points.txt,sha256=gXi8mUKsIqKVvn-bOc8E5f04sK_KoMCC-ty6b2Hf-jc,40
80
- quasarr-2.4.9.dist-info/licenses/LICENSE,sha256=QQFCAfDgt7lSA8oSWDHIZ9aTjFbZaBJdjnGOHkuhK7k,1060
81
- quasarr-2.4.9.dist-info/RECORD,,
76
+ quasarr/storage/sqlite_database.py,sha256=tmHUotMWIwtyH-g244WvcGhMQMMjGokncv7JpFSi8NM,3639
77
+ quasarr-2.4.11.dist-info/METADATA,sha256=7Kaq0Fun7rhGHWaargFE0sbNZQqOtLIEpeCcpwJbPEI,14728
78
+ quasarr-2.4.11.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
79
+ quasarr-2.4.11.dist-info/entry_points.txt,sha256=gXi8mUKsIqKVvn-bOc8E5f04sK_KoMCC-ty6b2Hf-jc,40
80
+ quasarr-2.4.11.dist-info/licenses/LICENSE,sha256=QQFCAfDgt7lSA8oSWDHIZ9aTjFbZaBJdjnGOHkuhK7k,1060
81
+ quasarr-2.4.11.dist-info/RECORD,,