georest.esri.cli.check_themes

Report drift between the live EDW catalog and edw._SERVICE_THEMES.

_SERVICE_THEMES is hand-curated and powers theme filtering plus description matching in search_edw_services. EDW publishes and retires services without notice, so the table rots quietly: an untyped service still turns up in search results, but as theme “uncategorized” with an empty description, so theme filters and keyword aliases stop reaching it.

georest-check-themes # report drift georest-check-themes –emit # + paste-ready entries

Exit status is 0 when the table is in sync, 1 when it has drifted, and 2 if the catalog could not be reached.

Copyright 2026 Ryan Rock and Ian Housman

Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at

Module Attributes

DESC_LIMIT

Longest a generated description may run before being elided, matching the existing entries in _SERVICE_THEMES.

Functions

describe(service_name)

Best-effort one-line description from a service's own MapServer doc.

main()

retry(func[, tries, delay])

EDW answers 404/500/'Layer not found' intermittently; retry through it.

georest.esri.cli.check_themes.DESC_LIMIT = 150

Longest a generated description may run before being elided, matching the existing entries in _SERVICE_THEMES.

georest.esri.cli.check_themes.retry(func, tries=6, delay=3.0)[source]

EDW answers 404/500/’Layer not found’ intermittently; retry through it.

georest.esri.cli.check_themes.describe(service_name: str) → str[source]

Best-effort one-line description from a service’s own MapServer doc.

georest.esri.cli.check_themes.main() → int[source]