|
1 | 1 | import sys |
2 | 2 | from inspect import ismethod, isclass |
3 | | -from sys import version_info |
4 | 3 |
|
5 | 4 | from decopatch import class_decorator, function_decorator, DECORATED |
6 | 5 |
|
|
11 | 10 | except ImportError: |
12 | 11 | pass |
13 | 12 | from valid8.composition import ValidationFuncs |
| 13 | + use_typing = True |
14 | 14 | except ImportError: |
15 | | - pass |
| 15 | + use_typing = False |
16 | 16 |
|
17 | 17 | try: |
18 | 18 | from inspect import signature, Signature |
@@ -91,7 +91,7 @@ def get_variable_str(self): |
91 | 91 |
|
92 | 92 |
|
93 | 93 | # Python 3+: load the 'more explicit api' |
94 | | -if version_info >= (3, 0): |
| 94 | +if use_typing: |
95 | 95 | new_sig = """(self, |
96 | 96 | validated_func: Callable, |
97 | 97 | *validation_func: ValidationFuncs, |
@@ -255,7 +255,7 @@ def assert_valid(self, |
255 | 255 |
|
256 | 256 |
|
257 | 257 | # Python 3+: load the 'more explicit api' |
258 | | -if version_info >= (3, 0): |
| 258 | +if use_typing: |
259 | 259 | new_sig = """(self, |
260 | 260 | validated_class: Callable, |
261 | 261 | validated_field_name: str, |
@@ -335,7 +335,7 @@ def get_validated_class_display_name(self): |
335 | 335 |
|
336 | 336 |
|
337 | 337 | # Python 3+: load the 'more explicit api' |
338 | | -if version_info >= (3, 0): |
| 338 | +if use_typing: |
339 | 339 | new_sig = """(cls, |
340 | 340 | field_name, |
341 | 341 | *validation_func: ValidationFuncs, |
@@ -425,7 +425,7 @@ def myfunc(a, b): |
425 | 425 |
|
426 | 426 |
|
427 | 427 | # Python 3+: load the 'more explicit api' |
428 | | -if version_info >= (3, 0): |
| 428 | +if use_typing: |
429 | 429 | new_sig = """(f, |
430 | 430 | arg_name, |
431 | 431 | *validation_func: ValidationFuncs, |
@@ -470,7 +470,7 @@ def validate_arg(f, |
470 | 470 |
|
471 | 471 |
|
472 | 472 | # Python 3+: load the 'more explicit api' |
473 | | -if version_info >= (3, 0): |
| 473 | +if use_typing: |
474 | 474 | new_sig = """(*validation_func: ValidationFuncs, |
475 | 475 | help_msg: str = None, |
476 | 476 | error_type: 'Type[OutputValidationError]' = None, |
@@ -509,7 +509,7 @@ def decorate(f): |
509 | 509 |
|
510 | 510 |
|
511 | 511 | # Python 3+: load the 'more explicit api' |
512 | | -if version_info >= (3, 0): |
| 512 | +if use_typing: |
513 | 513 | new_sig = """(cls, |
514 | 514 | field_name: str, |
515 | 515 | *validation_func: ValidationFuncs, |
@@ -697,7 +697,7 @@ def decorate_several_with_validation(func, |
697 | 697 |
|
698 | 698 |
|
699 | 699 | # Python 3+: load the 'more explicit api' |
700 | | -if version_info >= (3, 0): |
| 700 | +if use_typing: |
701 | 701 | new_sig = """(func, |
702 | 702 | arg_name: str, |
703 | 703 | *validation_func: ValidationFuncs, |
@@ -801,7 +801,7 @@ class fields)""" |
801 | 801 |
|
802 | 802 |
|
803 | 803 | # Python 3+: load the 'more explicit api' |
804 | | -if version_info >= (3, 0): |
| 804 | +if use_typing: |
805 | 805 | new_sig = """(validated_func: Callable, |
806 | 806 | s: Signature, |
807 | 807 | arg_name: str, |
|
0 commit comments