(cls, raw)
| 274 | |
| 275 | @classmethod |
| 276 | def from_raw(cls, raw): |
| 277 | if not raw: |
| 278 | raise ValueError('missing column spec') |
| 279 | elif isinstance(raw, cls): |
| 280 | return raw |
| 281 | |
| 282 | if isinstance(raw, str): |
| 283 | *values, _ = cls._parse(raw) |
| 284 | else: |
| 285 | *values, _ = cls._normalize(raw) |
| 286 | if values is None: |
| 287 | raise ValueError(f'unsupported column spec {raw!r}') |
| 288 | return cls(*values) |
| 289 | |
| 290 | @classmethod |
| 291 | def parse(cls, specstr): |
no test coverage detected