Source code for exodus_gw.settings

-import configparser
-import os
-import re
-from collections.abc import Iterable
-from dataclasses import dataclass
-from enum import Enum
-from typing import Any
+import configparser
+import os
+import re
+from collections.abc import Iterable
+from dataclasses import dataclass
+from enum import Enum
+from typing import Any
 
-from fastapi import HTTPException
-from pydantic_settings import BaseSettings, SettingsConfigDict
+from fastapi import HTTPException
+from pydantic_settings import BaseSettings, SettingsConfigDict
 
 
-def split_ini_list(raw: str | None) -> list[str]:
+def split_ini_list(raw: str | None) -> list[str]:
     # Given a string value from an .ini file, splits it into multiple
     # strings over line boundaries, using the typical form supported
     # in .ini files.
@@ -63,7 +63,7 @@ 

Source code for exodus_gw.settings

 
 
 @dataclass
-class CacheFlushRule:
+class CacheFlushRule:
     name: str
     """Name of this rule (from the config file)."""
 
@@ -108,7 +108,7 @@ 

Source code for exodus_gw.settings

     excludes are applied after includes.
     """
 
-    def matches(self, path: str) -> bool:
+    def matches(self, path: str) -> bool:
         """True if this rule matches the given path."""
 
         # We always match against absolute paths with a leading /,
@@ -130,7 +130,7 @@ 

Source code for exodus_gw.settings

         return True
 
     @classmethod
-    def load_all(
+    def load_all(
         cls: type["CacheFlushRule"],
         config: configparser.ConfigParser,
         env_section: str,
@@ -192,8 +192,8 @@ 

Source code for exodus_gw.settings

         return out
 
 
-class Environment(object):
-    def __init__(
+class Environment(object):
+    def __init__(
         self,
         name,
         aws_profile,
@@ -214,11 +214,11 @@ 

Source code for exodus_gw.settings

         self.cache_flush_rules: list[CacheFlushRule] = cache_flush_rules or []
 
     @property
-    def cdn_private_key(self):
+    def cdn_private_key(self):
         return os.getenv("EXODUS_GW_CDN_PRIVATE_KEY_%s" % self.name.upper())
 
     @property
-    def fastpurge_enabled(self) -> bool:
+    def fastpurge_enabled(self) -> bool:
         """True if this environment has fastpurge-based cache flushing enabled.
 
         When True, it is guaranteed that all needed credentials for fastpurge
@@ -235,29 +235,29 @@ 

Source code for exodus_gw.settings

         )
 
     @property
-    def fastpurge_client_secret(self):
+    def fastpurge_client_secret(self):
         return os.getenv(
             "EXODUS_GW_FASTPURGE_CLIENT_SECRET_%s" % self.name.upper()
         )
 
     @property
-    def fastpurge_host(self):
+    def fastpurge_host(self):
         return os.getenv("EXODUS_GW_FASTPURGE_HOST_%s" % self.name.upper())
 
     @property
-    def fastpurge_access_token(self):
+    def fastpurge_access_token(self):
         return os.getenv(
             "EXODUS_GW_FASTPURGE_ACCESS_TOKEN_%s" % self.name.upper()
         )
 
     @property
-    def fastpurge_client_token(self):
+    def fastpurge_client_token(self):
         return os.getenv(
             "EXODUS_GW_FASTPURGE_CLIENT_TOKEN_%s" % self.name.upper()
         )
 
 
-class MigrationMode(str, Enum):
+class MigrationMode(str, Enum):
     upgrade = "upgrade"
     model = "model"
     none = "none"
@@ -265,7 +265,7 @@ 

Source code for exodus_gw.settings

 
 
[docs] -class Settings(BaseSettings): +class Settings(BaseSettings): # Settings for the server. # # Most settings defined here can be overridden by an environment variable @@ -514,7 +514,7 @@

Source code for exodus_gw.settings

 
 
 
-def load_settings() -> Settings:
+def load_settings() -> Settings:
     """Return the currently active settings for the server.
 
     This function will load settings from config files and environment
@@ -580,7 +580,7 @@ 

Source code for exodus_gw.settings

     return settings
 
 
-def get_environment(env: str, settings: Settings | None = None):
+def get_environment(env: str, settings: Settings | None = None):
     """Return the corresponding environment object for the given environment
     name.
     """
diff --git a/_modules/index.html b/_modules/index.html
index 6731e549..b0f84059 100644
--- a/_modules/index.html
+++ b/_modules/index.html
@@ -5,7 +5,7 @@
     
     
     Overview: module code — exodus-gw  documentation
-    
+    
     
     
     
diff --git a/_static/pygments.css b/_static/pygments.css
index 04a41742..9392ddcb 100644
--- a/_static/pygments.css
+++ b/_static/pygments.css
@@ -5,80 +5,80 @@ td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5
 span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
 .highlight .hll { background-color: #ffffcc }
 .highlight { background: #f8f8f8; }
-.highlight .c { color: #8f5902; font-style: italic } /* Comment */
-.highlight .err { color: #a40000; border: 1px solid #ef2929 } /* Error */
-.highlight .g { color: #000000 } /* Generic */
+.highlight .c { color: #8F5902; font-style: italic } /* Comment */
+.highlight .err { color: #A40000; border: 1px solid #EF2929 } /* Error */
+.highlight .g { color: #000 } /* Generic */
 .highlight .k { color: #004461; font-weight: bold } /* Keyword */
-.highlight .l { color: #000000 } /* Literal */
-.highlight .n { color: #000000 } /* Name */
+.highlight .l { color: #000 } /* Literal */
+.highlight .n { color: #000 } /* Name */
 .highlight .o { color: #582800 } /* Operator */
-.highlight .x { color: #000000 } /* Other */
-.highlight .p { color: #000000; font-weight: bold } /* Punctuation */
-.highlight .ch { color: #8f5902; font-style: italic } /* Comment.Hashbang */
-.highlight .cm { color: #8f5902; font-style: italic } /* Comment.Multiline */
-.highlight .cp { color: #8f5902 } /* Comment.Preproc */
-.highlight .cpf { color: #8f5902; font-style: italic } /* Comment.PreprocFile */
-.highlight .c1 { color: #8f5902; font-style: italic } /* Comment.Single */
-.highlight .cs { color: #8f5902; font-style: italic } /* Comment.Special */
-.highlight .gd { color: #a40000 } /* Generic.Deleted */
-.highlight .ge { color: #000000; font-style: italic } /* Generic.Emph */
-.highlight .ges { color: #000000 } /* Generic.EmphStrong */
-.highlight .gr { color: #ef2929 } /* Generic.Error */
+.highlight .x { color: #000 } /* Other */
+.highlight .p { color: #000; font-weight: bold } /* Punctuation */
+.highlight .ch { color: #8F5902; font-style: italic } /* Comment.Hashbang */
+.highlight .cm { color: #8F5902; font-style: italic } /* Comment.Multiline */
+.highlight .cp { color: #8F5902 } /* Comment.Preproc */
+.highlight .cpf { color: #8F5902; font-style: italic } /* Comment.PreprocFile */
+.highlight .c1 { color: #8F5902; font-style: italic } /* Comment.Single */
+.highlight .cs { color: #8F5902; font-style: italic } /* Comment.Special */
+.highlight .gd { color: #A40000 } /* Generic.Deleted */
+.highlight .ge { color: #000; font-style: italic } /* Generic.Emph */
+.highlight .ges { color: #000 } /* Generic.EmphStrong */
+.highlight .gr { color: #EF2929 } /* Generic.Error */
 .highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
 .highlight .gi { color: #00A000 } /* Generic.Inserted */
-.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .go { color: #888 } /* Generic.Output */
 .highlight .gp { color: #745334 } /* Generic.Prompt */
-.highlight .gs { color: #000000; font-weight: bold } /* Generic.Strong */
+.highlight .gs { color: #000; font-weight: bold } /* Generic.Strong */
 .highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
-.highlight .gt { color: #a40000; font-weight: bold } /* Generic.Traceback */
+.highlight .gt { color: #A40000; font-weight: bold } /* Generic.Traceback */
 .highlight .kc { color: #004461; font-weight: bold } /* Keyword.Constant */
 .highlight .kd { color: #004461; font-weight: bold } /* Keyword.Declaration */
 .highlight .kn { color: #004461; font-weight: bold } /* Keyword.Namespace */
 .highlight .kp { color: #004461; font-weight: bold } /* Keyword.Pseudo */
 .highlight .kr { color: #004461; font-weight: bold } /* Keyword.Reserved */
 .highlight .kt { color: #004461; font-weight: bold } /* Keyword.Type */
-.highlight .ld { color: #000000 } /* Literal.Date */
-.highlight .m { color: #990000 } /* Literal.Number */
-.highlight .s { color: #4e9a06 } /* Literal.String */
-.highlight .na { color: #c4a000 } /* Name.Attribute */
+.highlight .ld { color: #000 } /* Literal.Date */
+.highlight .m { color: #900 } /* Literal.Number */
+.highlight .s { color: #4E9A06 } /* Literal.String */
+.highlight .na { color: #C4A000 } /* Name.Attribute */
 .highlight .nb { color: #004461 } /* Name.Builtin */
-.highlight .nc { color: #000000 } /* Name.Class */
-.highlight .no { color: #000000 } /* Name.Constant */
-.highlight .nd { color: #888888 } /* Name.Decorator */
-.highlight .ni { color: #ce5c00 } /* Name.Entity */
-.highlight .ne { color: #cc0000; font-weight: bold } /* Name.Exception */
-.highlight .nf { color: #000000 } /* Name.Function */
-.highlight .nl { color: #f57900 } /* Name.Label */
-.highlight .nn { color: #000000 } /* Name.Namespace */
-.highlight .nx { color: #000000 } /* Name.Other */
-.highlight .py { color: #000000 } /* Name.Property */
+.highlight .nc { color: #000 } /* Name.Class */
+.highlight .no { color: #000 } /* Name.Constant */
+.highlight .nd { color: #888 } /* Name.Decorator */
+.highlight .ni { color: #CE5C00 } /* Name.Entity */
+.highlight .ne { color: #C00; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #000 } /* Name.Function */
+.highlight .nl { color: #F57900 } /* Name.Label */
+.highlight .nn { color: #000 } /* Name.Namespace */
+.highlight .nx { color: #000 } /* Name.Other */
+.highlight .py { color: #000 } /* Name.Property */
 .highlight .nt { color: #004461; font-weight: bold } /* Name.Tag */
-.highlight .nv { color: #000000 } /* Name.Variable */
+.highlight .nv { color: #000 } /* Name.Variable */
 .highlight .ow { color: #004461; font-weight: bold } /* Operator.Word */
-.highlight .pm { color: #000000; font-weight: bold } /* Punctuation.Marker */
-.highlight .w { color: #f8f8f8 } /* Text.Whitespace */
-.highlight .mb { color: #990000 } /* Literal.Number.Bin */
-.highlight .mf { color: #990000 } /* Literal.Number.Float */
-.highlight .mh { color: #990000 } /* Literal.Number.Hex */
-.highlight .mi { color: #990000 } /* Literal.Number.Integer */
-.highlight .mo { color: #990000 } /* Literal.Number.Oct */
-.highlight .sa { color: #4e9a06 } /* Literal.String.Affix */
-.highlight .sb { color: #4e9a06 } /* Literal.String.Backtick */
-.highlight .sc { color: #4e9a06 } /* Literal.String.Char */
-.highlight .dl { color: #4e9a06 } /* Literal.String.Delimiter */
-.highlight .sd { color: #8f5902; font-style: italic } /* Literal.String.Doc */
-.highlight .s2 { color: #4e9a06 } /* Literal.String.Double */
-.highlight .se { color: #4e9a06 } /* Literal.String.Escape */
-.highlight .sh { color: #4e9a06 } /* Literal.String.Heredoc */
-.highlight .si { color: #4e9a06 } /* Literal.String.Interpol */
-.highlight .sx { color: #4e9a06 } /* Literal.String.Other */
-.highlight .sr { color: #4e9a06 } /* Literal.String.Regex */
-.highlight .s1 { color: #4e9a06 } /* Literal.String.Single */
-.highlight .ss { color: #4e9a06 } /* Literal.String.Symbol */
-.highlight .bp { color: #3465a4 } /* Name.Builtin.Pseudo */
-.highlight .fm { color: #000000 } /* Name.Function.Magic */
-.highlight .vc { color: #000000 } /* Name.Variable.Class */
-.highlight .vg { color: #000000 } /* Name.Variable.Global */
-.highlight .vi { color: #000000 } /* Name.Variable.Instance */
-.highlight .vm { color: #000000 } /* Name.Variable.Magic */
-.highlight .il { color: #990000 } /* Literal.Number.Integer.Long */
\ No newline at end of file
+.highlight .pm { color: #000; font-weight: bold } /* Punctuation.Marker */
+.highlight .w { color: #F8F8F8 } /* Text.Whitespace */
+.highlight .mb { color: #900 } /* Literal.Number.Bin */
+.highlight .mf { color: #900 } /* Literal.Number.Float */
+.highlight .mh { color: #900 } /* Literal.Number.Hex */
+.highlight .mi { color: #900 } /* Literal.Number.Integer */
+.highlight .mo { color: #900 } /* Literal.Number.Oct */
+.highlight .sa { color: #4E9A06 } /* Literal.String.Affix */
+.highlight .sb { color: #4E9A06 } /* Literal.String.Backtick */
+.highlight .sc { color: #4E9A06 } /* Literal.String.Char */
+.highlight .dl { color: #4E9A06 } /* Literal.String.Delimiter */
+.highlight .sd { color: #8F5902; font-style: italic } /* Literal.String.Doc */
+.highlight .s2 { color: #4E9A06 } /* Literal.String.Double */
+.highlight .se { color: #4E9A06 } /* Literal.String.Escape */
+.highlight .sh { color: #4E9A06 } /* Literal.String.Heredoc */
+.highlight .si { color: #4E9A06 } /* Literal.String.Interpol */
+.highlight .sx { color: #4E9A06 } /* Literal.String.Other */
+.highlight .sr { color: #4E9A06 } /* Literal.String.Regex */
+.highlight .s1 { color: #4E9A06 } /* Literal.String.Single */
+.highlight .ss { color: #4E9A06 } /* Literal.String.Symbol */
+.highlight .bp { color: #3465A4 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #000 } /* Name.Function.Magic */
+.highlight .vc { color: #000 } /* Name.Variable.Class */
+.highlight .vg { color: #000 } /* Name.Variable.Global */
+.highlight .vi { color: #000 } /* Name.Variable.Instance */
+.highlight .vm { color: #000 } /* Name.Variable.Magic */
+.highlight .il { color: #900 } /* Literal.Number.Integer.Long */
\ No newline at end of file
diff --git a/deployment.html b/deployment.html
index 22e5ce02..4e5ae03b 100644
--- a/deployment.html
+++ b/deployment.html
@@ -6,7 +6,7 @@
     
 
     Deployment Guide — exodus-gw  documentation
-    
+    
     
     
     
diff --git a/development.html b/development.html
index 7bb97cd0..dc81ba83 100644
--- a/development.html
+++ b/development.html
@@ -6,7 +6,7 @@
     
 
     Development Guide — exodus-gw  documentation
-    
+    
     
     
     
diff --git a/genindex.html b/genindex.html
index 56fd52a1..ada43d15 100644
--- a/genindex.html
+++ b/genindex.html
@@ -5,7 +5,7 @@
     
     
     Index — exodus-gw  documentation
-    
+    
     
     
     
diff --git a/index.html b/index.html
index 03f9423b..e9c71d7e 100644
--- a/index.html
+++ b/index.html
@@ -6,7 +6,7 @@
     
 
     exodus-gw — exodus-gw  documentation
-    
+    
     
     
     
diff --git a/search.html b/search.html
index 8fb805d6..c71c0168 100644
--- a/search.html
+++ b/search.html
@@ -5,7 +5,7 @@
     
     
     Search — exodus-gw  documentation
-    
+