(obj: list)
| 159 | |
| 160 | |
| 161 | def validate_token_pattern(obj: list) -> List[str]: |
| 162 | # Try to convert non-string keys (e.g. {ORTH: "foo"} -> {"ORTH": "foo"}) |
| 163 | get_key = lambda k: NAMES[k] if isinstance(k, int) and k < len(NAMES) else k |
| 164 | if isinstance(obj, list): |
| 165 | converted = [] |
| 166 | for pattern in obj: |
| 167 | if isinstance(pattern, dict): |
| 168 | pattern = {get_key(k): v for k, v in pattern.items()} |
| 169 | converted.append(pattern) |
| 170 | obj = converted |
| 171 | return validate(TokenPatternSchema, {"pattern": obj}) |
| 172 | |
| 173 | |
| 174 | class TokenPatternString(BaseModel): |
searching dependent graphs…