Archived
Pass selected ani-cli result to queue jobs
This commit is contained in:
+16
-1
@@ -1216,7 +1216,7 @@ def build_job(payload, config):
|
||||
"season": normalize_season(payload.get("season")),
|
||||
"episode_offset": normalize_episode_offset(payload.get("episode_offset")),
|
||||
"query": query,
|
||||
"result_index": None,
|
||||
"result_index": normalize_result_index(payload.get("result_index")),
|
||||
"mode": mode,
|
||||
"quality": quality,
|
||||
"episodes": validate_episode_spec(payload.get("episodes")),
|
||||
@@ -1232,6 +1232,18 @@ def build_job(payload, config):
|
||||
}
|
||||
|
||||
|
||||
def normalize_result_index(value):
|
||||
if value in (None, ""):
|
||||
return None
|
||||
try:
|
||||
index = int(str(value).strip())
|
||||
except (TypeError, ValueError):
|
||||
return None
|
||||
if index < 1:
|
||||
return None
|
||||
return index
|
||||
|
||||
|
||||
def anipy_search_spec(job):
|
||||
query = re.sub(r"\s+", " ", str(job.get("query") or "").replace(":", " ")).strip()
|
||||
mode = "dub" if str(job.get("mode") or "").strip().lower() == "dub" else "sub"
|
||||
@@ -1276,6 +1288,9 @@ def command_for_job(job, backend="ani-cli", download_path=None):
|
||||
"-e",
|
||||
job["episodes"],
|
||||
]
|
||||
result_index = normalize_result_index(job.get("result_index"))
|
||||
if result_index is not None:
|
||||
command.extend(["-S", str(result_index)])
|
||||
if job["mode"] == "dub":
|
||||
command.append("--dub")
|
||||
command.append(job["query"])
|
||||
|
||||
Reference in New Issue
Block a user