OXIESEC PANEL
- Current Dir:
/
/
opt
/
alt
/
python37
/
lib
/
python3.7
/
site-packages
/
validators
Server IP: 2a02:4780:11:1084:0:327f:3464:10
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
09/05/2025 09:36:16 AM
rwxr-xr-x
📄
__init__.py
1.08 KB
06/05/2022 05:11:31 PM
rw-r--r--
📁
__pycache__
-
03/16/2023 12:57:03 PM
rwxr-xr-x
📄
between.py
1.54 KB
10/10/2015 06:47:54 AM
rw-r--r--
📄
btc_address.py
1.49 KB
12/18/2020 10:22:34 AM
rw-r--r--
📄
card.py
4.28 KB
05/07/2020 12:32:08 PM
rw-r--r--
📄
domain.py
1.29 KB
10/05/2021 06:21:42 AM
rw-r--r--
📄
email.py
1.93 KB
04/02/2020 01:03:56 PM
rw-r--r--
📄
extremes.py
991 bytes
08/30/2016 02:58:11 PM
rw-r--r--
📄
hashes.py
2.44 KB
06/03/2017 02:07:19 PM
rw-r--r--
📁
i18n
-
03/16/2023 12:57:03 PM
rwxr-xr-x
📄
iban.py
1.14 KB
05/09/2016 03:06:26 PM
rw-r--r--
📄
ip_address.py
3.99 KB
06/05/2022 05:04:06 PM
rw-r--r--
📄
length.py
970 bytes
10/10/2015 06:47:54 AM
rw-r--r--
📄
mac_address.py
836 bytes
10/10/2015 06:47:54 AM
rw-r--r--
📄
slug.py
529 bytes
10/10/2015 06:47:54 AM
rw-r--r--
📄
truthy.py
876 bytes
10/05/2021 06:21:42 AM
rw-r--r--
📄
url.py
4.82 KB
06/05/2022 05:11:01 PM
rw-r--r--
📄
utils.py
1.97 KB
10/05/2021 06:21:42 AM
rw-r--r--
📄
uuid.py
970 bytes
09/03/2020 07:35:41 AM
rw-r--r--
Editing: utils.py
Close
import inspect import itertools from collections import OrderedDict from decorator import decorator class ValidationFailure(Exception): def __init__(self, func, args): self.func = func self.__dict__.update(args) def __repr__(self): return u'ValidationFailure(func={func}, args={args})'.format( func=self.func.__name__, args=dict( [(k, v) for (k, v) in self.__dict__.items() if k != 'func'] ) ) def __str__(self): return repr(self) def __unicode__(self): return repr(self) def __bool__(self): return False def __nonzero__(self): return False def func_args_as_dict(func, args, kwargs): """ Return given function's positional and key value arguments as an ordered dictionary. """ _getargspec = inspect.getfullargspec arg_names = list( OrderedDict.fromkeys( itertools.chain( _getargspec(func)[0], kwargs.keys() ) ) ) return OrderedDict( list(zip(arg_names, args)) + list(kwargs.items()) ) def validator(func, *args, **kwargs): """ A decorator that makes given function validator. Whenever the given function is called and returns ``False`` value this decorator returns :class:`ValidationFailure` object. Example:: >>> @validator ... def even(value): ... return not (value % 2) >>> even(4) True >>> even(5) ValidationFailure(func=even, args={'value': 5}) :param func: function to decorate :param args: positional function arguments :param kwargs: key value function arguments """ def wrapper(func, *args, **kwargs): value = func(*args, **kwargs) if not value: return ValidationFailure( func, func_args_as_dict(func, args, kwargs) ) return True return decorator(wrapper, func)