logger.py 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. import os
  2. import sys
  3. import re
  4. from .settings import settings
  5. sep = "-" * 70
  6. def supports_color():
  7. """
  8. from https://github.com/django/django/blob/master/django/core/management/color.py
  9. Return True if the running system's terminal supports color,
  10. and False otherwise.
  11. """
  12. plat = sys.platform
  13. supported_platform = plat != 'Pocket PC' and (plat != 'win32' or 'ANSICON' in os.environ)
  14. # isatty is not always implemented, #6223.
  15. is_a_tty = hasattr(sys.stdout, 'isatty') and sys.stdout.isatty()
  16. if not supported_platform or not is_a_tty:
  17. return "No", False
  18. return "Yes", True
  19. def log_seperator():
  20. print(sep + "\033[0m")
  21. if settings.log_to_file == 'True':
  22. try:
  23. with open("pyinstalive{:s}.log".format("_" + settings.user_to_download if len(settings.user_to_download) > 0 else ".default"),"a+") as f:
  24. f.write(sep + '\n')
  25. f.close()
  26. except:
  27. pass
  28. sys.stdout.flush()
  29. def log_info_green(string):
  30. if supports_color()[1] == False:
  31. print(string)
  32. else:
  33. print('[\033[92mI\033[0m] {:s}\033[0m'.format(string))
  34. if settings.log_to_file == 'True':
  35. try:
  36. with open("pyinstalive{:s}.log".format("_" + settings.user_to_download if len(settings.user_to_download) > 0 else ".default"),"a+") as f:
  37. f.write("[I] {:s}\n".format(string))
  38. f.close()
  39. except:
  40. pass
  41. sys.stdout.flush()
  42. def log_info_blue(string):
  43. if supports_color()[1] == False:
  44. print(string)
  45. else:
  46. print('[\033[94mI\033[0m] {:s}\033[0m'.format(string))
  47. if settings.log_to_file == 'True':
  48. try:
  49. with open("pyinstalive{:s}.log".format("_" + settings.user_to_download if len(settings.user_to_download) > 0 else ".default"),"a+") as f:
  50. f.write("[I] {:s}\n".format(string))
  51. f.close()
  52. except:
  53. pass
  54. sys.stdout.flush()
  55. def log_warn(string):
  56. if supports_color()[1] == False:
  57. print(string)
  58. else:
  59. print('[\033[93mW\033[0m] {:s}\033[0m'.format(string))
  60. if settings.log_to_file == 'True':
  61. try:
  62. with open("pyinstalive{:s}.log".format("_" + settings.user_to_download if len(settings.user_to_download) > 0 else ".default"),"a+") as f:
  63. f.write("[W] {:s}\n".format(string))
  64. f.close()
  65. except:
  66. pass
  67. sys.stdout.flush()
  68. def log_error(string):
  69. if supports_color()[1] == False:
  70. print(string)
  71. else:
  72. print('[\033[91mE\033[0m] {:s}\033[0m'.format(string))
  73. if settings.log_to_file == 'True':
  74. try:
  75. with open("pyinstalive{:s}.log".format("_" + settings.user_to_download if len(settings.user_to_download) > 0 else ".default"),"a+") as f:
  76. f.write("[E] {:s}\n".format(string))
  77. f.close()
  78. except:
  79. pass
  80. sys.stdout.flush()
  81. def log_whiteline():
  82. print("")
  83. if settings.log_to_file == 'True':
  84. try:
  85. with open("pyinstalive{:s}.log".format("_" + settings.user_to_download if len(settings.user_to_download) > 0 else ".default"),"a+") as f:
  86. f.write("\n")
  87. f.close()
  88. except:
  89. pass
  90. sys.stdout.flush()
  91. def log_plain(string):
  92. print(string)
  93. if settings.log_to_file == 'True':
  94. try:
  95. with open("pyinstalive{:s}.log".format("_" + settings.user_to_download if len(settings.user_to_download) > 0 else ".default"),"a+") as f:
  96. f.write("{:s}\n".format(string))
  97. f.close()
  98. except:
  99. pass
  100. sys.stdout.flush()