ok
Direktori : /opt/alt/python37/lib/python3.7/site-packages/clconfig/ |
Current File : //opt/alt/python37/lib/python3.7/site-packages/clconfig/clconfig_utils.py |
# -*- coding: utf-8 -*- # cl_config_utils - some helper functions for cloudlinux-config utility # # Copyright © Cloud Linux GmbH & Cloud Linux Software, Inc 2010-2019 All Rights Reserved # # Licensed under CLOUD LINUX LICENSE AGREEMENT # http://cloudlinux.com/docs/LICENSE.TXT from __future__ import absolute_import from future.utils import iteritems from past.builtins import unicode def repack_dict(keys_dict, source_dict, func_convertor=None, default=False): result_dict = {} if func_convertor is None: func_convertor = lambda x: int(x) for key, value in iteritems(keys_dict): if key in source_dict: result_dict[value] = func_convertor(source_dict[key]) else: result_dict[value] = default return result_dict def min_num_notify_converter(val): try: result = int(val) except (ValueError, TypeError): return 1 return result if result > 0 else 1 def time_convertor_to_dict(time_string): try: period = int(time_string) units = 'minutes' except (ValueError, TypeError): try: period = int(time_string[:-1]) if 'h' in time_string: units = 'hours' elif 's' in time_string: units = 'seconds' elif 'd' in time_string: units = 'days' else: units = 'minutes' except TypeError: return None result_dict = {'period': period, 'unitOfTime': units} return result_dict def str_to_boolean(string): if string.lower() in ['y', '1', 'on', 'true', 'yes']: return True return False def str_to_int(string): """ Converts (if possible) string value to int :return: None - if string value isn't convertable, int - success """ try: return int(string) except (ValueError, TypeError): return None def boolean_to_yes_no(bool_val): if not isinstance(bool_val, bool): return None if bool_val: return 'Y' return 'N' def boolean_to_on_off(bool_val): if not isinstance(bool_val, bool): return None if bool_val: return 'on' return 'off' def boolean_to_0_1(bool_val): if not isinstance(bool_val, bool): return None if bool_val: return '1' return '0' def is_int(int_val): if not isinstance(int_val, int): return None if int_val < 0: return None return int_val def is_positive_int(int_val): if not isinstance(int_val, int): return None if int_val < 1: return None return int_val def time_unit_to_letter(unit): ret_dict = {'days': 'd', 'hours': 'h', 'minutes': 'm', 'seconds': 's'} if unit not in ret_dict: return None return ret_dict[unit] def is_string(str_val): if isinstance(str_val, str) or type(str_val) == unicode: return True return None def is_string_or_none(str_val): if is_string(str_val) or str_val is None: return True return None