Fix feed validation output
This commit is contained in:
parent
c834c3c254
commit
db1d9b44b7
13 changed files with 477 additions and 54 deletions
10
repub/web.py
10
repub/web.py
|
|
@ -92,6 +92,7 @@ class SourceFormData(TypedDict):
|
|||
|
||||
class SettingsFormData(TypedDict):
|
||||
max_concurrent_jobs: int
|
||||
feed_url: str
|
||||
|
||||
|
||||
DEFAULT_PANGEA_CONTENT_FORMAT = "MOBILE_3"
|
||||
|
|
@ -293,6 +294,7 @@ def create_app(*, dev_mode: bool = False) -> Quart:
|
|||
|
||||
assert settings is not None
|
||||
save_setting("max_concurrent_jobs", settings["max_concurrent_jobs"])
|
||||
save_setting("feed_url", settings["feed_url"])
|
||||
trigger_refresh(app)
|
||||
return DatastarResponse(SSE.redirect("/settings"))
|
||||
|
||||
|
|
@ -709,11 +711,17 @@ def validate_settings_form(
|
|||
return None, "Missing form data."
|
||||
|
||||
max_concurrent_jobs = _parse_int(_read_string(signals, "maxConcurrentJobs"))
|
||||
feed_url = _read_string(signals, "feedUrl").rstrip("/")
|
||||
if max_concurrent_jobs is None:
|
||||
return None, "Max concurrent jobs must be an integer."
|
||||
if max_concurrent_jobs < 1:
|
||||
return None, "Max concurrent jobs must be at least 1."
|
||||
return {"max_concurrent_jobs": max_concurrent_jobs}, None
|
||||
if feed_url != "" and not _is_valid_url(feed_url):
|
||||
return None, "Feed URL must be a valid URL."
|
||||
return {
|
||||
"max_concurrent_jobs": max_concurrent_jobs,
|
||||
"feed_url": feed_url,
|
||||
}, None
|
||||
|
||||
|
||||
def _read_string(signals: dict[str, object], key: str, *, strip: bool = True) -> str:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue