Edit File: limits_validator.cpython-37.pyc
B 5/9e�2 � @ s� d dl mZ d dlmZ d dlmZmZmZ d dlm Z m Z d dlmZ d dl mZ d dlmZmZmZmZmZmZ dd lmZmZmZmZmZ dd lmZ d dlmZ G dd � d e �Z!dS )� )�absolute_import)�chain)� itervalues�iterkeys� iteritems)�LimitsDataStorage�DEFAULTS)�DEFAULT_PROVIDER)�defaultdict)�Dict�Tuple�List�Optional�Union�Any� )� BaseValidator�ENTITY_USER�ENTITY_PACKAGE�ENTITY_RESELLER�ENTITY_DEFAULTS)�EpNprocValidator)�LveCtlc @ s� e Zd Zddddd�ZddiZegZdd iZd(dd�Ze d d� �Z dd� Zefdd�Z dd� Zdd� Zdd� Zdd� Zdd� Zdd� Zdd � Zd!d"� Zd#d$� Ze ed%�d&d'��Zd S ))�LimitsValidatorzUser(s)z Package(s)zReseller(s)zDefaults of resellers)�user�package�reseller�defaultsr zHoster defaults limitszinherited from Globalzinherited from HosterNc C s2 |pt � | _|pt| j�g| _d d d d d�| _d S )N)� common_msg�specific_msg�affected_entity� entity_id)r �limits_providerr �_list_validatorsZmessage_dict)�selfZ_limits_data_storageZ validators� r% �)py/cllimits_validator/limits_validator.py�__init__5 s zLimitsValidator.__init__c C s� | d }| d }| d }| d }|dk r�|dk r�|t kr>d}q�|tkrRd�|�}q�|tkrfd�|�}q�|tkrzd �|�}q�d �|�}nd}|dkr�d}d�|||�}|S ) z� Format message string from single message dict. That function should be used for formatting message while validation input limits r r r r! Nz"Hoster defaults limits is affectedz.Defaults limits of Reseller "{}" are affected.z-Limits of user with LVE ID "{}" are affected.z%Limits of Reseller "{}" are affected.z$Limits of package "{}" are affected.� z{} {} {})r r �formatr r )�msg_dictr r r r! Zmsg_about_affectZ result_msgr% r% r&