(raw)
| 236 | |
| 237 | |
| 238 | def _parse_groupby(raw): |
| 239 | if not raw: |
| 240 | raw = 'kind' |
| 241 | |
| 242 | if isinstance(raw, str): |
| 243 | groupby = raw.replace(',', ' ').strip().split() |
| 244 | else: |
| 245 | raise NotImplementedError |
| 246 | |
| 247 | if not all(v in GROUPINGS for v in groupby): |
| 248 | raise ValueError(f'invalid groupby value {raw!r}') |
| 249 | return groupby |
| 250 | |
| 251 | |
| 252 | def _resolve_full_groupby(groupby): |