Viewing file: clconfig_utils.py (2.98 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
# -*- 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
|