_l9 d dl Z d dlZd dlmZ d dlmZ d dlmZ d dlm Z ddl mZmZm Z mZ G d d e Zd dd d dd dddd dd dddddddd ZdZd Zd"dZd Zd Zd Zd Zd Zd"dZd Zd Zd! ZdS )# N)Optional)etree)FormattedException) MySQLGovernor )boolean_to_on_offstr_to_booleantime_convertor_to_dicttime_unit_to_letterc e Zd ZdS )DBGovernorExceptionN)__name__ __module____qualname__ py/clconfig/db_governor_lib.pyr r s Dr r offon limit60smodeunlimitkilllogPathtimeoutLONGr formatERROR) modeOfOperationgatherDataForDetailedStatssave_uidlogRestrictedUsersQueries scriptPathuserMaxConnectionsrestrictTypeslowQueriesrestrictLogerrorLogz!/etc/container/mysql-governor.xmlc $ t | d S )Nzutf-8)encoding)open) file_names r _openr3 > s G,,,,r c dt | z dz t | z }| | d }n# t t f$ r |cY S w xY w|S )a Gets data from specified node and attribute :param x: Parent node object :param node: Node name to extract data :param attrib: Attribute name to extract data :param default: Default value to return if specified node/attribute not found :return: Value ///@r )strxpathAttributeError IndexError)xnodeattribdefaultpathdatas r get_data_from_xmlrA B sk c$ii$&V4wwt}}QJ' Ks A A AAc t | } | d rt | dd dz }n| d rt | dd dz dz }nr| d r!t | dd dz dz dz }n<| d rt | dd }nt | }|S ) z~ Convert value in minutes, hours, days to seconds :param value: value of slow limit :return: value in seconds mN<