ok
Direktori : /lib/python3.6/site-packages/__pycache__/ |
Current File : //lib/python3.6/site-packages/__pycache__/validate.cpython-36.pyc |
3 ��S�� � @ s� d Z dZdXZdd lZdd lZdd!lmZ ejdYk r8eZne Zd#d$� Z eZej d%ejejB �Zej d&ejejB �Zd'Zd(e Zye W n ek r� d)d*� ZY nX d+d� Zd,d� ZG d-d� de�ZG d.d� de�ZG d/d� de�ZG d0d� de�ZG d1d� de�ZG d2d � d e�ZG d3d � d e�Z G d4d� de�Z!G d5d� de�Z"G d6d � d e�Z#G d7d� de$�Z%dZd9d:�Z&d[d;d�Z'd\d<d�Z(d=d=d=d=d=d8d8d8d8d8d>� Z)d?d� Z*d@d� Z+d]dAd�Z,d^dBd�Z-d_dCd�Z.d`dDd�Z/dadEd�Z0dbdFd�Z1dcdGd�Z2dddHd�Z3dedIdJ�Z4e'e(e+e.e*dK�Z5dLd� Z6dMd� Z7dNdO� Z8dPdQ� Z9dRdS� Z:e;dTk�r�dd lZdd l<Z<ej=j>dT�Z?e?j@jA� ZBeBjCdUe%� i� e<jDe?eBe<jEe<jFB dV�\ZGZHeG �s�tIdWjJeGeH���d S )fa The Validator object is used to check that supplied values conform to a specification. The value can be supplied as a string - e.g. from a config file. In this case the check will also *convert* the value to the required type. This allows you to add validation as a transparent layer to access data stored as strings. The validation checks that the data is correct *and* converts it to the expected type. Some standard checks are provided for basic data types. Additional checks are easy to write. They can be provided when the ``Validator`` is instantiated or added afterwards. The standard functions work with the following basic data types : * integers * floats * booleans * strings * ip_addr plus lists of these datatypes Adding additional checks is done through coding simple functions. The full set of standard checks are : * 'integer': matches integer values (including negative) Takes optional 'min' and 'max' arguments : :: integer() integer(3, 9) # any value from 3 to 9 integer(min=0) # any positive value integer(max=9) * 'float': matches float values Has the same parameters as the integer check. * 'boolean': matches boolean values - ``True`` or ``False`` Acceptable string values for True are : true, on, yes, 1 Acceptable string values for False are : false, off, no, 0 Any other value raises an error. * 'ip_addr': matches an Internet Protocol address, v.4, represented by a dotted-quad string, i.e. '1.2.3.4'. * 'string': matches any string. Takes optional keyword args 'min' and 'max' to specify min and max lengths of the string. * 'list': matches any list. Takes optional keyword args 'min', and 'max' to specify min and max sizes of the list. (Always returns a list.) * 'tuple': matches any tuple. Takes optional keyword args 'min', and 'max' to specify min and max sizes of the tuple. (Always returns a tuple.) * 'int_list': Matches a list of integers. Takes the same arguments as list. * 'float_list': Matches a list of floats. Takes the same arguments as list. * 'bool_list': Matches a list of boolean values. Takes the same arguments as list. * 'ip_addr_list': Matches a list of IP addresses. Takes the same arguments as list. * 'string_list': Matches a list of strings. Takes the same arguments as list. * 'mixed_list': Matches a list with different types in specific positions. List size must match the number of arguments. Each position can be one of : 'integer', 'float', 'ip_addr', 'string', 'boolean' So to specify a list with two strings followed by two integers, you write the check as : :: mixed_list('string', 'string', 'integer', 'integer') * 'pass': This check matches everything ! It never fails and the value is unchanged. It is also the default if no check is specified. * 'option': This check matches any from a list of options. You specify this check with : :: option('option 1', 'option 2', 'option 3') You can supply a default value (returned if no value is supplied) using the default keyword argument. You specify a list argument for default using a list constructor syntax in the check : :: checkname(arg1, arg2, default=list('val 1', 'val 2', 'val 3')) A badly formatted set of arguments will raise a ``VdtParamError``. z1.0.1�__version__�dottedQuadToNum�numToDottedQuad� ValidateError�VdtUnknownCheckError� VdtParamError�VdtTypeError� VdtValueError�VdtValueTooSmallError�VdtValueTooBigError�VdtValueTooShortError�VdtValueTooLongError�VdtMissingValue� Validator� is_integer�is_float� is_boolean�is_list�is_tuple� is_ip_addr� is_string�is_int_list�is_bool_list� is_float_list�is_string_list�is_ip_addr_list� is_mixed_list� is_option� __docformat__� N)�pprint� c C s | S )N� )�xr! r! �/usr/lib/python3.6/validate.py�<lambda>� s r$ a� (?: ([a-zA-Z_][a-zA-Z0-9_]*)\s*=\s*list\( ( (?: \s* (?: (?:".*?")| # double quotes (?:'.*?')| # single quotes (?:[^'",\s\)][^,\)]*?) # unquoted ) \s*,\s* )* (?: (?:".*?")| # double quotes (?:'.*?')| # single quotes (?:[^'",\s\)][^,\)]*?) # unquoted )? # last one ) \) ) z� ( (?:".*?")| # double quotes (?:'.*?')| # single quotes (?:[^'",\s=][^,=]*?) # unquoted ) (?: (?:\s*,\s*)|(?:\s*$) # comma ) a� (?: ( (?: [a-zA-Z_][a-zA-Z0-9_]*\s*=\s*list\( (?: \s* (?: (?:".*?")| # double quotes (?:'.*?')| # single quotes (?:[^'",\s\)][^,\)]*?) # unquoted ) \s*,\s* )* (?: (?:".*?")| # double quotes (?:'.*?')| # single quotes (?:[^'",\s\)][^,\)]*?) # unquoted )? # last one \) )| (?: (?:".*?")| # double quotes (?:'.*?')| # single quotes (?:[^'",\s=][^,=]*?)| # unquoted (?: # keyword argument [a-zA-Z_][a-zA-Z0-9_]*\s*=\s* (?: (?:".*?")| # double quotes (?:'.*?')| # single quotes (?:[^'",\s=][^,=]*?) # unquoted ) ) ) ) (?: (?:\s*,\s*)|(?:\s*$) # comma ) ) z^%s*c C s | rdS dS dS )z$Simple boolean equivalent function. � r Nr! )�valr! r! r# �bool s r'