(v, scale=1, default=None, get_attr=None, invscale=1, base=None)
| 2019 | |
| 2020 | @partial_application |
| 2021 | def int_or_none(v, scale=1, default=None, get_attr=None, invscale=1, base=None): |
| 2022 | if get_attr and v is not None: |
| 2023 | v = getattr(v, get_attr, None) |
| 2024 | if invscale == 1 and scale < 1: |
| 2025 | invscale = int(1 / scale) |
| 2026 | scale = 1 |
| 2027 | try: |
| 2028 | return (int(v) if base is None else int(v, base=base)) * invscale // scale |
| 2029 | except (ValueError, TypeError, OverflowError): |
| 2030 | return default |
| 2031 | |
| 2032 | |
| 2033 | def str_or_none(v, default=None): |
no outgoing calls
searching dependent graphs…