Flatten settings.
(d, root='', keyfilter=_flatten_keys)
| 381 | |
| 382 | |
| 383 | def flatten(d, root='', keyfilter=_flatten_keys): |
| 384 | """Flatten settings.""" |
| 385 | stack = deque([(root, d)]) |
| 386 | while stack: |
| 387 | ns, options = stack.popleft() |
| 388 | for key, opt in options.items(): |
| 389 | if isinstance(opt, dict): |
| 390 | stack.append((ns + key + '_', opt)) |
| 391 | else: |
| 392 | yield from keyfilter(ns, key, opt) |
| 393 | |
| 394 | |
| 395 | DEFAULTS = { |
no test coverage detected