CamelKiller, qu'est-ce que c'est? Taken from http://stackoverflow.com/a/1176023/3244542
(attr)
| 73 | |
| 74 | |
| 75 | def _camel_killer(attr): |
| 76 | """ |
| 77 | CamelKiller, qu'est-ce que c'est? |
| 78 | |
| 79 | Taken from http://stackoverflow.com/a/1176023/3244542 |
| 80 | """ |
| 81 | attr = str(attr) |
| 82 | |
| 83 | s1 = _first_cap_re.sub(r"\1_\2", attr) |
| 84 | s2 = _all_cap_re.sub(r"\1_\2", s1) |
| 85 | return re.sub(" *_+", "_", s2.lower()) |
| 86 | |
| 87 | |
| 88 | def _recursive_tuples(iterable, box_class, recreate_tuples=False, **kwargs): |
no outgoing calls