import base64 import time from configs.logging import logger def decode_user(username, password): if not username or not password: return '' , '' try: u = base64.b64decode(username).decode('utf-8') p = base64.b64decode(password).decode('utf-8') return u, p except Exception as e: logger.error(e) return username, password def encode_base64(str): return base64.encodebytes(str.encode('utf-8')).decode('utf-8') def byte_conversion(size): if size < 1024: return str("%.1f"%size) + 'B' elif size < 1024 * 1024: return str("%.1f"%(size/1024)) + 'KB' elif size < 1024 * 1024 * 1024: return str("%.1f"%(size/1024/1024)) + 'MB' else: return str("%.1f"%(size/1024/1024/1024)) + 'GB' def get_cmd_parameter(jvm_param, inc_start_time, replace_param, partition_info): cmd_parameter = '' current_time = int(time.time()) if jvm_param is not None: cmd_parameter += '-j "' + jvm_param + '" ' if replace_param is not None: cmd_parameter += '-p "' + (replace_param % (inc_start_time,current_time)) if partition_info is not None: partition_list = partition_info.split(',') partition_time = current_time - 86400*int(partition_list[1]) partition_time_format = partition_list[2].replace('yyyy','%Y').replace('MM','%m').replace('dd','%d') partition_time_str = time.strftime(partition_time_format,time.localtime(partition_time)) cmd_parameter += ' -Dpartition=' + str(partition_list[0]) + '=' + partition_time_str if replace_param is not None: cmd_parameter += '" ' return cmd_parameter