opentf-toolkit-nightly 0.57.0.dev1098__py3-none-any.whl → 0.57.0.dev1102__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -448,13 +448,24 @@ def make_app(
448
448
 
449
449
 
450
450
  def get_context_parameter(
451
- app: Flask, name: str, validator: Optional[Any] = None
451
+ app: Flask,
452
+ name: str,
453
+ validator: Optional[Any] = None,
454
+ default: Optional[Any] = None,
452
455
  ) -> Any:
453
456
  """Get an integer parameter from configuration context.
454
457
 
455
458
  Exits with an error code of 2 if the parameter is not properly
456
459
  valued or is not defined.
457
460
 
461
+ Resolution order:
462
+
463
+ - `{app.name.upper()}_{name.upper()}` environment variable
464
+ - `{name.upper()}` environment variable (if spec is shared)
465
+ - `name` in configuration context
466
+ - `spec['default']` if spec defines a default value
467
+ - `default` if not None
468
+
458
469
  # Required parameters
459
470
 
460
471
  - app: a Flask object
@@ -463,6 +474,7 @@ def get_context_parameter(
463
474
  # Optional parameters
464
475
 
465
476
  - validator: a function of two arguments or None (None by default)
477
+ - default: any value or None (None by default)
466
478
 
467
479
  # Returned value
468
480
 
@@ -484,15 +496,19 @@ def get_context_parameter(
484
496
  sys.exit(2)
485
497
 
486
498
  spec = _get_contextparameter_spec(app, name)
487
- if name not in app.config['CONTEXT']:
499
+ val = os.environ.get(name.upper()) if spec and spec.get('shared') else None
500
+ val = os.environ.get(f'{app.name.upper()}_{name.upper()}', val)
501
+ if val is None and name not in app.config['CONTEXT']:
488
502
  if spec and 'default' in spec:
489
503
  return _maybe_validate(spec['default'])
504
+ if default is not None:
505
+ return _maybe_validate(default)
490
506
  _fatal(
491
507
  'Context parameter %s not in current context and no default value specified.',
492
508
  name,
493
509
  )
494
510
 
495
- val = app.config['CONTEXT'][name]
511
+ val = val if val is not None else app.config['CONTEXT'][name]
496
512
  if not spec:
497
513
  return _maybe_validate(val)
498
514
  if spec.get('type') == 'int':
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: opentf-toolkit-nightly
3
- Version: 0.57.0.dev1098
3
+ Version: 0.57.0.dev1102
4
4
  Summary: OpenTestFactory Orchestrator Toolkit
5
5
  Home-page: https://gitlab.com/henixdevelopment/open-source/opentestfactory/python-toolkit
6
6
  Author: Martin Lafaix
@@ -1,4 +1,4 @@
1
- opentf/commons/__init__.py,sha256=pHeXaleOQxz0b0Ds8zIvMu2COi7jYuj6dNne08o0UU0,22092
1
+ opentf/commons/__init__.py,sha256=3gZyXpN2Dmpkn-MRE_Ns1kYHiGyQfXQ8YF25fErVXwE,22728
2
2
  opentf/commons/auth.py,sha256=bM2Z3kxm2Wku1lKXaRAIg37LHvXWAXIZIqjplDfN2P8,15899
3
3
  opentf/commons/config.py,sha256=dyus4K5Zdmcftc3Y9Z1YRkzA1KwiRLHoeAlg2_A49QM,7876
4
4
  opentf/commons/datasources.py,sha256=lIQf81riLHWYj1bG0Mxez7rf9cxSL50NVOf2bmKkWT4,26032
@@ -54,8 +54,8 @@ opentf/scripts/startup.py,sha256=Da2zo93pBWbdRmj-wgekgLcF94rpNc3ZkbvR8R0w8XY,212
54
54
  opentf/toolkit/__init__.py,sha256=nbllYXON3Rzd-hU7Cred7r4hPaCPbfSJmoY7cQ6RShc,22589
55
55
  opentf/toolkit/channels.py,sha256=6xcVKHUK2FdyVKIQmPQbakngfVuQDzCcD_lInOdKpro,17171
56
56
  opentf/toolkit/core.py,sha256=6nud1vqcfjs9swZu_Z-rbvdbejtrlSjOd8eZXIF0ChE,9795
57
- opentf_toolkit_nightly-0.57.0.dev1098.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
58
- opentf_toolkit_nightly-0.57.0.dev1098.dist-info/METADATA,sha256=uPhQAxjwlGe5OUfel_BAR_JEbwnkreTZzEpleEdePxM,1946
59
- opentf_toolkit_nightly-0.57.0.dev1098.dist-info/WHEEL,sha256=eOLhNAGa2EW3wWl_TU484h7q1UNgy0JXjjoqKoxAAQc,92
60
- opentf_toolkit_nightly-0.57.0.dev1098.dist-info/top_level.txt,sha256=_gPuE6GTT6UNXy1DjtmQSfCcZb_qYA2vWmjg7a30AGk,7
61
- opentf_toolkit_nightly-0.57.0.dev1098.dist-info/RECORD,,
57
+ opentf_toolkit_nightly-0.57.0.dev1102.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
58
+ opentf_toolkit_nightly-0.57.0.dev1102.dist-info/METADATA,sha256=VW_IooOM5t5nsVnnYoaURymd7hBOiyx-EKHn0h6Nqdk,1946
59
+ opentf_toolkit_nightly-0.57.0.dev1102.dist-info/WHEEL,sha256=eOLhNAGa2EW3wWl_TU484h7q1UNgy0JXjjoqKoxAAQc,92
60
+ opentf_toolkit_nightly-0.57.0.dev1102.dist-info/top_level.txt,sha256=_gPuE6GTT6UNXy1DjtmQSfCcZb_qYA2vWmjg7a30AGk,7
61
+ opentf_toolkit_nightly-0.57.0.dev1102.dist-info/RECORD,,