Skip to content

Commit 41ff541

Browse files
committed
Simplified test for existance of dynamic parameters
1 parent 26399e2 commit 41ff541

File tree

1 file changed

+28
-42
lines changed

1 file changed

+28
-42
lines changed

configuration/configuration.py

Lines changed: 28 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -118,9 +118,8 @@ def _environ_get_and_map(variable_name: str, default: str | None = None, map_fn:
118118
# # ['John Doe', 'jdoe@example.com'],
119119
# ]
120120

121-
_ALLOWED_URL_SCHEMES = _environ_get_and_map('ALLOWED_URL_SCHEMES', None, _SPLIT_ON_SPACE)
122-
if _ALLOWED_URL_SCHEMES:
123-
ALLOWED_URL_SCHEMES = _ALLOWED_URL_SCHEMES
121+
if 'ALLOWED_URL_SCHEMES' in environ:
122+
ALLOWED_URL_SCHEMES = _environ_get_and_map('ALLOWED_URL_SCHEMES', None, _SPLIT_ON_SPACE)
124123

125124
# Optionally display a persistent banner at the top and/or bottom of every page. HTML is allowed. To display the same
126125
# content in both banners, define BANNER_TOP and set BANNER_BOTTOM = BANNER_TOP.
@@ -138,9 +137,8 @@ def _environ_get_and_map(variable_name: str, default: str | None = None, map_fn:
138137
BASE_PATH = environ.get('BASE_PATH', '')
139138

140139
# Maximum number of days to retain logged changes. Set to 0 to retain changes indefinitely. (Default: 90)
141-
_CHANGELOG_RETENTION = _environ_get_and_map('CHANGELOG_RETENTION', None, _AS_INT)
142-
if _CHANGELOG_RETENTION:
143-
CHANGELOG_RETENTION = _CHANGELOG_RETENTION
140+
if 'CHANGELOG_RETENTION' in environ:
141+
CHANGELOG_RETENTION = _environ_get_and_map('CHANGELOG_RETENTION', None, _AS_INT)
144142

145143
# Maximum number of days to retain job results (scripts and reports). Set to 0 to retain job results in the database indefinitely. (Default: 90)
146144
if 'JOBRESULT_RETENTION' in environ:
@@ -179,9 +177,8 @@ def _environ_get_and_map(variable_name: str, default: str | None = None, map_fn:
179177

180178
# Enforcement of unique IP space can be toggled on a per-VRF basis. To enforce unique IP space within the global table
181179
# (all prefixes and IP addresses not assigned to a VRF), set ENFORCE_GLOBAL_UNIQUE to True.
182-
_ENFORCE_GLOBAL_UNIQUE = _environ_get_and_map('ENFORCE_GLOBAL_UNIQUE', None, _EQUALS_TRUE)
183-
if _ENFORCE_GLOBAL_UNIQUE:
184-
ENFORCE_GLOBAL_UNIQUE = _ENFORCE_GLOBAL_UNIQUE
180+
if 'ENFORCE_GLOBAL_UNIQUE' in environ:
181+
ENFORCE_GLOBAL_UNIQUE = _environ_get_and_map('ENFORCE_GLOBAL_UNIQUE', None, _EQUALS_TRUE)
185182

186183
# Exempt certain models from the enforcement of view permissions. Models listed here will be viewable by all users and
187184
# by anonymous users. List models in the form `<app>.<model>`. Add '*' to this list to exempt all models.
@@ -198,9 +195,8 @@ def _environ_get_and_map(variable_name: str, default: str | None = None, map_fn:
198195
INTERNAL_IPS = _environ_get_and_map('INTERNAL_IPS', '127.0.0.1 ::1', _SPLIT_ON_SPACE)
199196

200197
# Enable GraphQL API.
201-
_GRAPHQL_ENABLED = _environ_get_and_map('GRAPHQL_ENABLED', None, _EQUALS_TRUE)
202-
if _GRAPHQL_ENABLED:
203-
GRAPHQL_ENABLED = _GRAPHQL_ENABLED
198+
if 'GRAPHQL_ENABLED' in environ:
199+
GRAPHQL_ENABLED = _environ_get_and_map('GRAPHQL_ENABLED', None, _EQUALS_TRUE)
204200

205201
# # Enable custom logging. Please see the Django documentation for detailed guidance on configuring custom logs:
206202
# # https://docs.djangoproject.com/en/stable/topics/logging/
@@ -219,9 +215,8 @@ def _environ_get_and_map(variable_name: str, default: str | None = None, map_fn:
219215
LOGIN_TIMEOUT = _environ_get_and_map('LOGIN_TIMEOUT', 1209600, _AS_INT)
220216

221217
# Setting this to True will display a "maintenance mode" banner at the top of every page.
222-
_MAINTENANCE_MODE = _environ_get_and_map('MAINTENANCE_MODE', None, _EQUALS_TRUE)
223-
if _MAINTENANCE_MODE:
224-
MAINTENANCE_MODE = _MAINTENANCE_MODE
218+
if 'MAINTENANCE_MODE' in environ:
219+
MAINTENANCE_MODE = _environ_get_and_map('MAINTENANCE_MODE', None, _EQUALS_TRUE)
225220

226221
# Maps provider
227222
if 'MAPS_URL' in environ:
@@ -230,9 +225,8 @@ def _environ_get_and_map(variable_name: str, default: str | None = None, map_fn:
230225
# An API consumer can request an arbitrary number of objects =by appending the "limit" parameter to the URL (e.g.
231226
# "?limit=1000"). This setting defines the maximum limit. Setting it to 0 or None will allow an API consumer to request
232227
# all objects by specifying "?limit=0".
233-
_MAX_PAGE_SIZE = _environ_get_and_map('MAX_PAGE_SIZE', None, _AS_INT)
234-
if _MAX_PAGE_SIZE:
235-
MAX_PAGE_SIZE = _MAX_PAGE_SIZE
228+
if 'MAX_PAGE_SIZE' in environ:
229+
MAX_PAGE_SIZE = _environ_get_and_map('MAX_PAGE_SIZE', None, _AS_INT)
236230

237231
# The file path where uploaded media such as image attachments are stored. A trailing slash is not needed. Note that
238232
# the default value of this setting is derived from the installed location.
@@ -248,18 +242,16 @@ def _environ_get_and_map(variable_name: str, default: str | None = None, map_fn:
248242
NAPALM_PASSWORD = _read_secret('napalm_password', environ.get('NAPALM_PASSWORD', None))
249243

250244
# NAPALM timeout (in seconds). (Default: 30)
251-
_NAPALM_TIMEOUT = _environ_get_and_map('NAPALM_TIMEOUT', None, _AS_INT)
252-
if _NAPALM_TIMEOUT:
253-
NAPALM_TIMEOUT = _NAPALM_TIMEOUT
245+
if 'NAPALM_TIMEOUT' in environ:
246+
NAPALM_TIMEOUT = _environ_get_and_map('NAPALM_TIMEOUT', None, _AS_INT)
254247

255248
# # NAPALM optional arguments (see http://napalm.readthedocs.io/en/latest/support/#optional-arguments). Arguments must
256249
# # be provided as a dictionary.
257250
# NAPALM_ARGS = None
258251

259252
# Determine how many objects to display per page within a list. (Default: 50)
260-
_PAGINATE_COUNT = _environ_get_and_map('PAGINATE_COUNT', None, _AS_INT)
261-
if _PAGINATE_COUNT:
262-
PAGINATE_COUNT = _PAGINATE_COUNT
253+
if 'PAGINATE_COUNT' in environ:
254+
PAGINATE_COUNT = _environ_get_and_map('PAGINATE_COUNT', None, _AS_INT)
263255

264256
# # Enable installed plugins. Add the name of each plugin to the list.
265257
# PLUGINS = []
@@ -271,32 +263,26 @@ def _environ_get_and_map(variable_name: str, default: str | None = None, map_fn:
271263

272264
# When determining the primary IP address for a device, IPv6 is preferred over IPv4 by default. Set this to True to
273265
# prefer IPv4 instead.
274-
_PREFER_IPV4 = _environ_get_and_map('PREFER_IPV4', None, _EQUALS_TRUE)
275-
if _PREFER_IPV4:
276-
PREFER_IPV = _PREFER_IPV4
266+
if 'PREFER_IPV4' in environ:
267+
PREFER_IPV4 = _environ_get_and_map('PREFER_IPV4', None, _EQUALS_TRUE)
277268

278269
# The default value for the amperage field when creating new power feeds.
279-
_POWERFEED_DEFAULT_AMPERAGE = _environ_get_and_map('POWERFEED_DEFAULT_AMPERAGE', None, _AS_INT)
280-
if _POWERFEED_DEFAULT_AMPERAGE:
281-
POWERFEED_DEFAULT_AMPERAGE = _POWERFEED_DEFAULT_AMPERAGE
270+
if 'POWERFEED_DEFAULT_AMPERAGE' in environ:
271+
POWERFEED_DEFAULT_AMPERAGE = _environ_get_and_map('POWERFEED_DEFAULT_AMPERAGE', None, _AS_INT)
282272

283273
# The default value (percentage) for the max_utilization field when creating new power feeds.
284-
_POWERFEED_DEFAULT_MAX_UTILIZATION = _environ_get_and_map('POWERFEED_DEFAULT_MAX_UTILIZATION', None, _AS_INT)
285-
if _POWERFEED_DEFAULT_MAX_UTILIZATION:
286-
POWERFEED_DEFAULT_MAX_UTILIZATION = _POWERFEED_DEFAULT_MAX_UTILIZATION
274+
if 'POWERFEED_DEFAULT_MAX_UTILIZATION' in environ:
275+
POWERFEED_DEFAULT_MAX_UTILIZATION = _environ_get_and_map('POWERFEED_DEFAULT_MAX_UTILIZATION', None, _AS_INT)
287276

288277
# The default value for the voltage field when creating new power feeds.
289-
_POWERFEED_DEFAULT_VOLTAGE = _environ_get_and_map('POWERFEED_DEFAULT_VOLTAGE', None, _AS_INT)
290-
if _POWERFEED_DEFAULT_VOLTAGE:
291-
POWERFEED_DEFAULT_VOLTAGE = _POWERFEED_DEFAULT_VOLTAGE
278+
if 'POWERFEED_DEFAULT_VOLTAGE' in environ:
279+
POWERFEED_DEFAULT_VOLTAGE = _environ_get_and_map('POWERFEED_DEFAULT_VOLTAGE', None, _AS_INT)
292280

293281
# Rack elevation size defaults, in pixels. For best results, the ratio of width to height should be roughly 10:1.
294-
_RACK_ELEVATION_DEFAULT_UNIT_HEIGHT = _environ_get_and_map('RACK_ELEVATION_DEFAULT_UNIT_HEIGHT', None, _AS_INT)
295-
if _RACK_ELEVATION_DEFAULT_UNIT_HEIGHT:
296-
RACK_ELEVATION_DEFAULT_UNIT_HEIGHT = _RACK_ELEVATION_DEFAULT_UNIT_HEIGHT
297-
_RACK_ELEVATION_DEFAULT_UNIT_WIDTH = _environ_get_and_map('RACK_ELEVATION_DEFAULT_UNIT_WIDTH', None, _AS_INT)
298-
if _RACK_ELEVATION_DEFAULT_UNIT_WIDTH:
299-
RACK_ELEVATION_DEFAULT_UNIT_WIDTH = _RACK_ELEVATION_DEFAULT_UNIT_WIDTH
282+
if 'RACK_ELEVATION_DEFAULT_UNIT_HEIGHT' in environ:
283+
RACK_ELEVATION_DEFAULT_UNIT_HEIGHT = _environ_get_and_map('RACK_ELEVATION_DEFAULT_UNIT_HEIGHT', None, _AS_INT)
284+
if 'RACK_ELEVATION_DEFAULT_UNIT_WIDTH' in environ:
285+
RACK_ELEVATION_DEFAULT_UNIT_WIDTH = _environ_get_and_map('RACK_ELEVATION_DEFAULT_UNIT_WIDTH', None, _AS_INT)
300286

301287
# Remote authentication support
302288
REMOTE_AUTH_ENABLED = _environ_get_and_map('REMOTE_AUTH_ENABLED', 'False', _EQUALS_TRUE)

0 commit comments

Comments
 (0)