RecursiveLoader
laktory.yaml.RecursiveLoader
¤
RecursiveLoader(stream, parent_loader=None)
Bases: SafeLoader
METHOD | DESCRIPTION |
---|---|
preprocess_stream |
Reformat content to be YAML safe |
load |
Load yaml file with support for reference to external yaml and sql files using |
inject_constructor |
Inject content of another YAML file. |
merge_constructor |
Merge content of another YAML file into the current dictionary. |
append_constructor |
Append content of another YAML file to the current list. |
custom_mapping_constructor |
Custom handling for mappings to support !merge. |
custom_sequence_constructor |
Custom handling for sequences to support !append. |
Source code in laktory/yaml/recursiveloader.py
13 14 15 16 17 18 19 20 |
|
Functions¤
preprocess_stream
¤
preprocess_stream(stream)
Reformat content to be YAML safe
Source code in laktory/yaml/recursiveloader.py
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
|
load
classmethod
¤
load(stream, parent_loader=None)
Load yaml file with support for reference to external yaml and sql files using
!use
, !extend
and !update
tags.
Path to external files can be defined using model or environment variables.
PARAMETER | DESCRIPTION |
---|---|
stream
|
file object structured as a yaml file
|
parent_loader
|
Parent loader if file loader from another loader.
TYPE:
|
RETURNS | DESCRIPTION |
---|---|
Dict or list |
Examples:
businesses:
apple:
symbol: aapl
address: !use addresses.yaml
<<: !update common.yaml
emails:
- jane.doe@apple.com
- extend! emails.yaml
amazon:
symbol: amzn
address: !use addresses.yaml
<<: update! common.yaml
emails:
- john.doe@amazon.com
- extend! emails.yaml
Source code in laktory/yaml/recursiveloader.py
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 |
|
inject_constructor
staticmethod
¤
inject_constructor(loader, node)
Inject content of another YAML file.
Source code in laktory/yaml/recursiveloader.py
115 116 117 118 119 120 121 122 123 124 125 126 127 |
|
merge_constructor
staticmethod
¤
merge_constructor(loader, node)
Merge content of another YAML file into the current dictionary.
Source code in laktory/yaml/recursiveloader.py
129 130 131 132 133 134 135 136 137 138 139 140 141 |
|
append_constructor
staticmethod
¤
append_constructor(loader, node)
Append content of another YAML file to the current list.
Source code in laktory/yaml/recursiveloader.py
143 144 145 146 147 148 149 150 151 152 153 154 |
|
custom_mapping_constructor
staticmethod
¤
custom_mapping_constructor(loader, node)
Custom handling for mappings to support !merge.
Source code in laktory/yaml/recursiveloader.py
157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 |
|
custom_sequence_constructor
staticmethod
¤
custom_sequence_constructor(loader, node)
Custom handling for sequences to support !append.
Source code in laktory/yaml/recursiveloader.py
186 187 188 189 190 191 192 193 194 195 196 197 |
|