0x1949 Team - FAZEMRX - MANAGER
Edit File: validate.cpython-310.pyc
o `�f�� � @ s� d Z dZdZddlZddlZddlmZ ejdk reZne Zdd� Z eZe� d ejejB �Ze� d ejejB �ZdZde Zze W n eyO d d� ZY nw dd� Zdd� ZG dd� de�ZG dd� de�ZG dd� de�ZG dd� de�ZG dd� de�ZG dd� de�ZG dd � d e�Z G d!d"� d"e�Z!G d#d$� d$e�Z"G d%d&� d&e�Z#G d'd(� d(e$�Z%dWd*d+�Z&dXd,d-�Z'dXd.d/�Z(d0d0d0d0d0d)d)d)d)d)d1� Z)d2d3� Z*d4d5� Z+dXd6d7�Z,dXd8d9�Z-dXd:d;�Z.dXd<d=�Z/dXd>d?�Z0dXd@dA�Z1dXdBdC�Z2dXdDdE�Z3dXdFdG�Z4e'e(e+e.e*dH�Z5dIdJ� Z6dKdL� Z7dMdN� Z8dOdP� Z9dQdR� Z:e;dSk�rVddlZddl<Z<ej=�>dS�Z?e?j@�A� ZBeB�CdTe%� i� e<jDe?eBe<jEe<jFB dU�\ZGZHeG�rXJ dV�IeGeH���dS dS )Ya 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"