made condition.cli optional
This commit is contained in:
parent
2ae1f5b6ad
commit
f417041f53
3 changed files with 11 additions and 7 deletions
|
|
@ -71,17 +71,17 @@ async def conditions_add(request: Request, encoder: Encoder, notify: EventBus) -
|
||||||
|
|
||||||
if not item.get("name"):
|
if not item.get("name"):
|
||||||
return web.json_response(
|
return web.json_response(
|
||||||
{"error": "name is required.", "data": item}, status=web.HTTPBadRequest.status_code
|
{"error": "Name is required.", "data": item}, status=web.HTTPBadRequest.status_code
|
||||||
)
|
)
|
||||||
|
|
||||||
if not item.get("filter"):
|
if not item.get("filter"):
|
||||||
return web.json_response(
|
return web.json_response(
|
||||||
{"error": "filter is required.", "data": item}, status=web.HTTPBadRequest.status_code
|
{"error": "Filter is required.", "data": item}, status=web.HTTPBadRequest.status_code
|
||||||
)
|
)
|
||||||
|
|
||||||
if not item.get("cli"):
|
if not item.get("cli") and len(item.get("extras", {}).keys()) < 1:
|
||||||
return web.json_response(
|
return web.json_response(
|
||||||
{"error": "command options for yt-dlp is required.", "data": item},
|
{"error": "A Condition Must have cli options or extras", "data": item},
|
||||||
status=web.HTTPBadRequest.status_code,
|
status=web.HTTPBadRequest.status_code,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -321,6 +321,11 @@ const checkInfo = async (): Promise<void> => {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ((!form.cli || '' === form.cli.trim()) && Object.keys(form.extras).length < 1) {
|
||||||
|
toast.error('Either command options for yt-dlp or at least one extra option is required.')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
if (form.cli && '' !== form.cli.trim()) {
|
if (form.cli && '' !== form.cli.trim()) {
|
||||||
const options = await convertOptions(form.cli)
|
const options = await convertOptions(form.cli)
|
||||||
if (options === null) {
|
if (options === null) {
|
||||||
|
|
|
||||||
|
|
@ -199,9 +199,8 @@ const updateItems = async (newItems: ConditionItem[]): Promise<boolean> => {
|
||||||
addInProgress.value = true
|
addInProgress.value = true
|
||||||
|
|
||||||
const validItems = newItems.map(({ id, name, filter, cli, extras }) => {
|
const validItems = newItems.map(({ id, name, filter, cli, extras }) => {
|
||||||
if (!name || !filter || !cli) {
|
if (!name || !filter) {
|
||||||
toast.error('Name, filter and cli are required.')
|
throw new Error('Name and filter are required.')
|
||||||
throw new Error('Missing fields')
|
|
||||||
}
|
}
|
||||||
return { id, name, filter, cli, extras }
|
return { id, name, filter, cli, extras }
|
||||||
})
|
})
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue