notify-api-412 use black to enforce python coding style

This commit is contained in:
Kenneth Kehl
2023-08-25 09:12:23 -07:00
parent c6eb007386
commit 8c9721d8e2
201 changed files with 31660 additions and 28105 deletions

View File

@@ -8,40 +8,46 @@ from app.cloudfoundry_config import cloud_config
class Config(object):
NOTIFY_APP_NAME = 'admin'
NOTIFY_ENVIRONMENT = getenv('NOTIFY_ENVIRONMENT', 'development')
API_HOST_NAME = getenv('API_HOST_NAME', 'localhost')
ADMIN_BASE_URL = getenv('ADMIN_BASE_URL', 'http://localhost:6012')
HEADER_COLOUR = '#81878b' # mix(govuk-colour("dark-grey"), govuk-colour("mid-grey"))
LOGO_CDN_DOMAIN = 'static-logos.notifications.service.gov.uk' # TODO use our own CDN
NOTIFY_APP_NAME = "admin"
NOTIFY_ENVIRONMENT = getenv("NOTIFY_ENVIRONMENT", "development")
API_HOST_NAME = getenv("API_HOST_NAME", "localhost")
ADMIN_BASE_URL = getenv("ADMIN_BASE_URL", "http://localhost:6012")
HEADER_COLOUR = (
"#81878b" # mix(govuk-colour("dark-grey"), govuk-colour("mid-grey"))
)
LOGO_CDN_DOMAIN = (
"static-logos.notifications.service.gov.uk" # TODO use our own CDN
)
ASSETS_DEBUG = False
# Credentials
ADMIN_CLIENT_SECRET = getenv('ADMIN_CLIENT_SECRET')
ADMIN_CLIENT_USER_NAME = getenv('ADMIN_CLIENT_USERNAME')
SECRET_KEY = getenv('SECRET_KEY')
DANGEROUS_SALT = getenv('DANGEROUS_SALT')
ADMIN_CLIENT_SECRET = getenv("ADMIN_CLIENT_SECRET")
ADMIN_CLIENT_USER_NAME = getenv("ADMIN_CLIENT_USERNAME")
SECRET_KEY = getenv("SECRET_KEY")
DANGEROUS_SALT = getenv("DANGEROUS_SALT")
# ZENDESK_API_KEY = getenv('ZENDESK_API_KEY')
ROUTE_SECRET_KEY_1 = getenv('ROUTE_SECRET_KEY_1', 'dev-route-secret-key-1')
ROUTE_SECRET_KEY_2 = getenv('ROUTE_SECRET_KEY_2', 'dev-route-secret-key-2')
BASIC_AUTH_USERNAME = getenv('BASIC_AUTH_USERNAME')
BASIC_AUTH_PASSWORD = getenv('BASIC_AUTH_PASSWORD')
ROUTE_SECRET_KEY_1 = getenv("ROUTE_SECRET_KEY_1", "dev-route-secret-key-1")
ROUTE_SECRET_KEY_2 = getenv("ROUTE_SECRET_KEY_2", "dev-route-secret-key-2")
BASIC_AUTH_USERNAME = getenv("BASIC_AUTH_USERNAME")
BASIC_AUTH_PASSWORD = getenv("BASIC_AUTH_PASSWORD")
NR_ACCOUNT_ID = getenv('NR_ACCOUNT_ID')
NR_TRUST_KEY = getenv('NR_TRUST_KEY')
NR_AGENT_ID = getenv('NR_AGENT_ID')
NR_APP_ID = getenv('NR_APP_ID')
NR_BROWSER_KEY = getenv('NR_BROWSER_KEY')
NR_ACCOUNT_ID = getenv("NR_ACCOUNT_ID")
NR_TRUST_KEY = getenv("NR_TRUST_KEY")
NR_AGENT_ID = getenv("NR_AGENT_ID")
NR_APP_ID = getenv("NR_APP_ID")
NR_BROWSER_KEY = getenv("NR_BROWSER_KEY")
settings = newrelic.agent.global_settings()
NR_MONITOR_ON = settings and settings.monitor_mode
TEMPLATE_PREVIEW_API_HOST = getenv('TEMPLATE_PREVIEW_API_HOST', 'http://localhost:9999')
TEMPLATE_PREVIEW_API_KEY = getenv('TEMPLATE_PREVIEW_API_KEY', 'my-secret-key')
TEMPLATE_PREVIEW_API_HOST = getenv(
"TEMPLATE_PREVIEW_API_HOST", "http://localhost:9999"
)
TEMPLATE_PREVIEW_API_KEY = getenv("TEMPLATE_PREVIEW_API_KEY", "my-secret-key")
GOVERNMENT_EMAIL_DOMAIN_NAMES = ['gov']
GOVERNMENT_EMAIL_DOMAIN_NAMES = ["gov"]
# Logging
NOTIFY_LOG_LEVEL = getenv('NOTIFY_LOG_LEVEL', 'INFO')
NOTIFY_LOG_LEVEL = getenv("NOTIFY_LOG_LEVEL", "INFO")
DEFAULT_SERVICE_LIMIT = 50
@@ -55,7 +61,7 @@ class Config(object):
REPLY_TO_EMAIL_ADDRESS_VALIDATION_TIMEOUT = 45
ACTIVITY_STATS_LIMIT_DAYS = 7
SESSION_COOKIE_HTTPONLY = True
SESSION_COOKIE_NAME = 'notify_admin_session'
SESSION_COOKIE_NAME = "notify_admin_session"
SESSION_COOKIE_SECURE = True
# don't send back the cookie if it hasn't been modified by the request. this means that the expiry time won't be
# updated unless the session is changed - but it's generally refreshed by `save_service_or_org_after_request`
@@ -66,31 +72,31 @@ class Config(object):
CHECK_PROXY_HEADER = False
REDIS_URL = cloud_config.redis_url
REDIS_ENABLED = getenv('REDIS_ENABLED', '1') == '1'
REDIS_ENABLED = getenv("REDIS_ENABLED", "1") == "1"
# TODO: reassign this
NOTIFY_SERVICE_ID = 'd6aa2c68-a2d9-4437-ab19-3ae8eb202553'
NOTIFY_SERVICE_ID = "d6aa2c68-a2d9-4437-ab19-3ae8eb202553"
NOTIFY_BILLING_DETAILS = json.loads(
getenv('NOTIFY_BILLING_DETAILS') or 'null'
) or {
'account_number': '98765432',
'sort_code': '01-23-45',
'IBAN': 'GB33BUKB20201555555555',
'swift': 'ABCDEF12',
'notify_billing_email_addresses': [
'generic@digital.cabinet-office.gov.uk',
'first.last@digital.cabinet-office.gov.uk',
]
NOTIFY_BILLING_DETAILS = json.loads(getenv("NOTIFY_BILLING_DETAILS") or "null") or {
"account_number": "98765432",
"sort_code": "01-23-45",
"IBAN": "GB33BUKB20201555555555",
"swift": "ABCDEF12",
"notify_billing_email_addresses": [
"generic@digital.cabinet-office.gov.uk",
"first.last@digital.cabinet-office.gov.uk",
],
}
def _s3_credentials_from_env(bucket_prefix):
return {
'bucket': getenv(f"{bucket_prefix}_BUCKET_NAME", f"{bucket_prefix}-test-bucket-name"),
'access_key_id': getenv(f"{bucket_prefix}_AWS_ACCESS_KEY_ID"),
'secret_access_key': getenv(f"{bucket_prefix}_AWS_SECRET_ACCESS_KEY"),
'region': getenv(f"{bucket_prefix}_AWS_REGION")
"bucket": getenv(
f"{bucket_prefix}_BUCKET_NAME", f"{bucket_prefix}-test-bucket-name"
),
"access_key_id": getenv(f"{bucket_prefix}_AWS_ACCESS_KEY_ID"),
"secret_access_key": getenv(f"{bucket_prefix}_AWS_SECRET_ACCESS_KEY"),
"region": getenv(f"{bucket_prefix}_AWS_REGION"),
}
@@ -99,77 +105,83 @@ class Development(Config):
DEBUG = True
SESSION_COOKIE_SECURE = False
SESSION_PROTECTION = None
HTTP_PROTOCOL = 'http'
ASSET_DOMAIN = ''
ASSET_PATH = '/static/'
NOTIFY_LOG_LEVEL = 'DEBUG'
HTTP_PROTOCOL = "http"
ASSET_DOMAIN = ""
ASSET_PATH = "/static/"
NOTIFY_LOG_LEVEL = "DEBUG"
# Buckets
CSV_UPLOAD_BUCKET = _s3_credentials_from_env('CSV')
LOGO_UPLOAD_BUCKET = _s3_credentials_from_env('LOGO')
CSV_UPLOAD_BUCKET = _s3_credentials_from_env("CSV")
LOGO_UPLOAD_BUCKET = _s3_credentials_from_env("LOGO")
# credential overrides
DANGEROUS_SALT = 'development-notify-salt'
SECRET_KEY = 'dev-notify-secret-key' # nosec B105 - only used in development
DANGEROUS_SALT = "development-notify-salt"
SECRET_KEY = "dev-notify-secret-key" # nosec B105 - only used in development
# ADMIN_CLIENT_USER_NAME is called ADMIN_CLIENT_ID in api repo, they should match
ADMIN_CLIENT_USER_NAME = 'notify-admin'
ADMIN_CLIENT_SECRET = 'dev-notify-secret-key' # nosec B105 - only used in development
ADMIN_CLIENT_USER_NAME = "notify-admin"
ADMIN_CLIENT_SECRET = (
"dev-notify-secret-key" # nosec B105 - only used in development
)
class Test(Development):
TESTING = True
WTF_CSRF_ENABLED = False
ASSET_DOMAIN = 'static.example.com'
ASSET_PATH = 'https://static.example.com/'
ASSET_DOMAIN = "static.example.com"
ASSET_PATH = "https://static.example.com/"
API_HOST_NAME = 'http://you-forgot-to-mock-an-api-call-to'
REDIS_URL = 'redis://you-forgot-to-mock-a-redis-call-to'
LOGO_CDN_DOMAIN = 'static-logos.test.com'
API_HOST_NAME = "http://you-forgot-to-mock-an-api-call-to"
REDIS_URL = "redis://you-forgot-to-mock-a-redis-call-to"
LOGO_CDN_DOMAIN = "static-logos.test.com"
class Production(Config):
HEADER_COLOUR = '#005EA5' # $govuk-blue
HTTP_PROTOCOL = 'https'
HEADER_COLOUR = "#005EA5" # $govuk-blue
HTTP_PROTOCOL = "https"
BASIC_AUTH_FORCE = True
ASSET_DOMAIN = '' # TODO use a CDN
ASSET_PATH = '/static/' # TODO use a CDN
ASSET_DOMAIN = "" # TODO use a CDN
ASSET_PATH = "/static/" # TODO use a CDN
DEBUG = False
# buckets
CSV_UPLOAD_BUCKET = cloud_config.s3_credentials(
f"notify-api-csv-upload-bucket-{getenv('NOTIFY_ENVIRONMENT')}")
f"notify-api-csv-upload-bucket-{getenv('NOTIFY_ENVIRONMENT')}"
)
LOGO_UPLOAD_BUCKET = cloud_config.s3_credentials(
f"notify-admin-logo-upload-bucket-{getenv('NOTIFY_ENVIRONMENT')}")
f"notify-admin-logo-upload-bucket-{getenv('NOTIFY_ENVIRONMENT')}"
)
class Staging(Production):
BASIC_AUTH_FORCE = True
HEADER_COLOUR = '#00ff00' # $green
HEADER_COLOUR = "#00ff00" # $green
class Demo(Staging):
HEADER_COLOUR = '#6F72AF' # $mauve
HEADER_COLOUR = "#6F72AF" # $mauve
class Sandbox(Staging):
HEADER_COLOUR = '#ff0000' # $red
HEADER_COLOUR = "#ff0000" # $red
class Scanning(Production):
BASIC_AUTH_FORCE = False
HTTP_PROTOCOL = 'http'
API_HOST_NAME = 'https://notify-api-staging.app.cloud.gov/'
SECRET_KEY = 'dev-notify-secret-key' # nosec B105 - only used in development
ADMIN_CLIENT_USER_NAME = 'notify-admin'
ADMIN_CLIENT_SECRET = 'dev-notify-secret-key' # nosec B105 - only used in development
HTTP_PROTOCOL = "http"
API_HOST_NAME = "https://notify-api-staging.app.cloud.gov/"
SECRET_KEY = "dev-notify-secret-key" # nosec B105 - only used in development
ADMIN_CLIENT_USER_NAME = "notify-admin"
ADMIN_CLIENT_SECRET = (
"dev-notify-secret-key" # nosec B105 - only used in development
)
configs = {
'development': Development,
'test': Test,
'scanning': Scanning,
'staging': Staging,
'demo': Demo,
'sandbox': Sandbox,
'production': Production
"development": Development,
"test": Test,
"scanning": Scanning,
"staging": Staging,
"demo": Demo,
"sandbox": Sandbox,
"production": Production,
}