id = "urlwatch" name = "urlwatch" homepage = "https://thp.io/2008/urlwatch/" description = "Watch webpages and notify when they change." executables = ["urlwatch"] [dotfiles] # urlwatch's documentation lists the XDG config files urls.yaml (jobs), # urlwatch.yaml (global/reporters), and hooks.py under $XDG_CONFIG_HOME/urlwatch. # Reporter passwords are stored in the system keyring by urlwatch, not these # documented config files, so these paths remain ordinary user configuration. # https://urlwatch.readthedocs.io/en/stable/configuration.html # https://manpages.debian.org/testing/urlwatch/urlwatch.1.en.html paths = [ "[configHome]/urlwatch/urls.yaml", "[configHome]/urlwatch/urlwatch.yaml", "[configHome]/urlwatch/hooks.py", ] secret = [] side_effect = false [commands] format = 1 label = "Run urlwatch jobs" description = "Runs the configured jobs, or lists and edits them. Job management with key=value specs, reporters and hooks are not included." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = false, short_attached = false, short_bundles = false } [[commands.source]] id = "manual" kind = "manual" url = "https://manpages.debian.org/unstable/urlwatch/urlwatch.1.en.html" revision = "2.29" evidence = """ urlwatch [options] [JOB ...] JOB indexes or tags of job(s) to run. If --tags is set, each JOB is a tag, if -v, --verbose show debug output --tags use tags instead of indexes to select jobs to run --urls FILE read job list (URLs) from FILE --config FILE read configuration from FILE --cache FILE use FILE as cache database --list list jobs --edit edit URL/job list --edit-config edit configuration file --gc-cache RETAIN_LIMIT remove old cache entries, keeping the latest RETAIN_LIMIT (default: """ [[commands.field]] id = "jobs" label = "Jobs (indexes or tags)" description = "Leave empty to run every job." type = "string" position = 0 multiple = true sources = ["manual"] [[commands.field]] id = "tags" label = "Treat jobs as tags" type = "boolean" option = ["--tags"] sources = ["manual"] [[commands.field]] id = "urls" label = "Job list file" type = "path" option = ["--urls"] path = { kind = "file", role = "input" } sources = ["manual"] [[commands.field]] id = "config" label = "Config file" type = "path" option = ["--config"] path = { kind = "file", role = "input" } sources = ["manual"] [[commands.field]] id = "cache" label = "Cache database" type = "path" option = ["--cache"] path = { kind = "file", role = "output" } sources = ["manual"] [[commands.field]] id = "list" label = "List jobs" type = "boolean" option = ["--list"] sources = ["manual"] [[commands.field]] id = "edit" label = "Edit job list" type = "boolean" option = ["--edit"] sources = ["manual"] [[commands.field]] id = "edit_config" label = "Edit configuration" type = "boolean" option = ["--edit-config"] sources = ["manual"] [[commands.field]] id = "gc_cache" label = "Clean cache, keep latest N" type = "integer" option = ["--gc-cache"] effect = "delete" sources = ["manual"] [[commands.field]] id = "verbose" label = "Debug output" type = "boolean" option = ["--verbose", "-v"] sources = ["manual"] [[commands.task]] id = "run" label = "Run jobs" fields = ["jobs", "tags", "urls", "verbose"] required = [] [[commands.task]] id = "list" label = "List jobs" set = { list = [true] } lock = ["list"] fields = ["list", "urls"] required = [] [[commands.task]] id = "edit" label = "Edit job list" set = { edit = [true] } lock = ["edit"] fields = ["edit"] required = [] [[commands.group]] id = "basic" label = "Basic" fields = ["jobs", "tags", "list", "edit", "edit_config"] [[commands.group]] id = "advanced" label = "Advanced" fields = ["urls", "config", "cache", "gc_cache", "verbose"]