(
func_name: str, ignore_errors: dict[str, set[str]]
)
| 397 | |
| 398 | |
| 399 | def print_validate_one_results( |
| 400 | func_name: str, ignore_errors: dict[str, set[str]] |
| 401 | ) -> int: |
| 402 | def header(title, width=80, char="#") -> str: |
| 403 | full_line = char * width |
| 404 | side_len = (width - len(title) - 2) // 2 |
| 405 | adj = "" if len(title) % 2 == 0 else " " |
| 406 | title_line = f"{char * side_len} {title}{adj} {char * side_len}" |
| 407 | |
| 408 | return f"\n{full_line}\n{title_line}\n{full_line}\n\n" |
| 409 | |
| 410 | result = pandas_validate(func_name) |
| 411 | |
| 412 | result["errors"] = [ |
| 413 | (code, message) |
| 414 | for code, message in result["errors"] |
| 415 | if code not in ignore_errors.get(None, set()) |
| 416 | ] |
| 417 | |
| 418 | sys.stderr.write(header(f"Docstring ({func_name})")) |
| 419 | sys.stderr.write(f"{result['docstring']}\n") |
| 420 | |
| 421 | sys.stderr.write(header("Validation")) |
| 422 | if result["errors"]: |
| 423 | sys.stderr.write(f"{len(result['errors'])} Errors found for `{func_name}`:\n") |
| 424 | for err_code, err_desc in result["errors"]: |
| 425 | sys.stderr.write(f"\t{err_code}\t{err_desc}\n") |
| 426 | else: |
| 427 | sys.stderr.write(f'Docstring for "{func_name}" correct. :)\n') |
| 428 | |
| 429 | if result["examples_errs"]: |
| 430 | sys.stderr.write(header("Doctests")) |
| 431 | sys.stderr.write(result["examples_errs"]) |
| 432 | |
| 433 | return len(result["errors"]) + len(result["examples_errs"]) |
| 434 | |
| 435 | |
| 436 | def _format_ignore_errors(raw_ignore_errors): |
no test coverage detected