utils.py 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. import base64
  2. import time
  3. from configs.logging import logger
  4. def decode_user(username, password):
  5. if not username or not password:
  6. return '' , ''
  7. try:
  8. u = base64.b64decode(username).decode('utf-8')
  9. p = base64.b64decode(password).decode('utf-8')
  10. return u, p
  11. except Exception as e:
  12. logger.error(e)
  13. return username, password
  14. def encode_base64(str):
  15. return base64.encodebytes(str.encode('utf-8')).decode('utf-8')
  16. def byte_conversion(size):
  17. if size < 1024:
  18. return str("%.1f"%size) + 'B'
  19. elif size < 1024 * 1024:
  20. return str("%.1f"%(size/1024)) + 'KB'
  21. elif size < 1024 * 1024 * 1024:
  22. return str("%.1f"%(size/1024/1024)) + 'MB'
  23. else:
  24. return str("%.1f"%(size/1024/1024/1024)) + 'GB'
  25. def get_cmd_parameter(jvm_param, inc_start_time, replace_param, partition_info):
  26. cmd_parameter = ''
  27. current_time = int(time.time())
  28. if jvm_param is not None:
  29. cmd_parameter += '-j "' + jvm_param + '" '
  30. if replace_param is not None:
  31. cmd_parameter += '-p "' + (replace_param % (inc_start_time,current_time))
  32. if partition_info is not None:
  33. partition_list = partition_info.split(',')
  34. partition_time = current_time - 86400*int(partition_list[1])
  35. partition_time_format = partition_list[2].replace('yyyy','%Y').replace('MM','%m').replace('dd','%d')
  36. partition_time_str = time.strftime(partition_time_format,time.localtime(partition_time))
  37. cmd_parameter += ' -Dpartition=' + str(partition_list[0]) + '=' + partition_time_str
  38. if replace_param is not None:
  39. cmd_parameter += '" '
  40. return cmd_parameter