| Conditions | 6 | 
| Total Lines | 14 | 
| Code Lines | 11 | 
| Lines | 0 | 
| Ratio | 0 % | 
| Changes | 0 | ||
| 1 | # -*- coding: utf-8 -*- | ||
| 23 | def list_keys(keypath, separator): | ||
| 24 | """ | ||
| 25 | List keys splitting a keypath using the given separator. | ||
| 26 | """ | ||
| 27 | if isinstance(keypath, string_types): | ||
| 28 | if separator and separator in keypath: | ||
| 29 | return list(keypath.split(separator)) | ||
| 30 | return [keypath] | ||
| 31 | elif isinstance(keypath, (list, tuple, )): | ||
| 32 | keys = [] | ||
| 33 | for key in keypath: | ||
| 34 | keys += list_keys(key, separator) | ||
| 35 | return keys | ||
| 36 | return [keypath] | ||
| 37 |