frontengine-dev 0.0.73__py3-none-any.whl → 0.0.75__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,10 @@
1
1
  from PySide6.QtWidgets import QGraphicsScene
2
2
 
3
+ from frontengine.utils.logging.loggin_instance import front_engine_logger
4
+
3
5
 
4
6
  class ClickerGraphicScene(QGraphicsScene):
5
7
 
6
8
  def __init__(self):
9
+ front_engine_logger.info("Init ClickerGraphicScene")
7
10
  super().__init__()
@@ -3,11 +3,13 @@ from PySide6.QtWidgets import QWidget, QGridLayout
3
3
 
4
4
  from frontengine.show.clicker.clicker_scene import ClickerGraphicScene
5
5
  from frontengine.show.scene.extend_graphic_view import ExtendGraphicView
6
+ from frontengine.utils.logging.loggin_instance import front_engine_logger
6
7
 
7
8
 
8
9
  class ClickerWidget(QWidget):
9
10
 
10
11
  def __init__(self):
12
+ front_engine_logger.info("Init ClickerWidget")
11
13
  super().__init__()
12
14
  self.setAttribute(Qt.WidgetAttribute.WA_TranslucentBackground)
13
15
  self.setAttribute(Qt.WidgetAttribute.WA_DeleteOnClose)
@@ -19,6 +21,7 @@ class ClickerWidget(QWidget):
19
21
  self.setLayout(self.grid_layout)
20
22
 
21
23
  def set_ui_window_flag(self, show_on_bottom: bool = False) -> None:
24
+ front_engine_logger.info("ClickerWidget set_ui_window_flag")
22
25
  self.setWindowFlag(
23
26
  Qt.WindowType.WindowTransparentForInput |
24
27
  Qt.WindowType.FramelessWindowHint |
@@ -5,12 +5,17 @@ from PySide6.QtCore import Qt, QRect
5
5
  from PySide6.QtGui import QMovie, QPainter, QIcon
6
6
  from PySide6.QtWidgets import QWidget, QLabel, QMessageBox
7
7
 
8
+ from frontengine.utils.logging.loggin_instance import front_engine_logger
8
9
  from frontengine.utils.multi_language.language_wrapper import language_wrapper
9
10
 
10
11
 
11
12
  class GifWidget(QWidget):
12
13
 
13
14
  def __init__(self, gif_image_path: str, draw_location_x: int = 0, draw_location_y: int = 0):
15
+ front_engine_logger.info("Init GifWidget"
16
+ f"gif_image_path: {gif_image_path} "
17
+ f"draw_location_x: {draw_location_x} "
18
+ f"draw_location_y: {draw_location_y}")
14
19
  super().__init__()
15
20
  self.draw_location_x = draw_location_x
16
21
  self.draw_location_y = draw_location_y
@@ -41,13 +46,16 @@ class GifWidget(QWidget):
41
46
  self.setWindowIcon(QIcon(str(self.icon_path)))
42
47
 
43
48
  def set_gif_variable(self, speed: int = 100) -> None:
49
+ front_engine_logger.info(f"GifWidget set_gif_variable speed: {speed}")
44
50
  self.speed = speed
45
51
  self.movie.setSpeed(self.speed)
46
52
 
47
53
  def set_ui_variable(self, opacity: float = 0.2) -> None:
54
+ front_engine_logger.info(f"GifWidget set_ui_variable opacity: {opacity}")
48
55
  self.opacity = opacity
49
56
 
50
57
  def set_ui_window_flag(self, show_on_bottom: bool = False) -> None:
58
+ front_engine_logger.info(f"GifWidget set_ui_window_flag show_on_bottom: {show_on_bottom}")
51
59
  self.setWindowFlag(
52
60
  Qt.WindowType.WindowTransparentForInput |
53
61
  Qt.WindowType.FramelessWindowHint |
@@ -59,6 +67,7 @@ class GifWidget(QWidget):
59
67
  self.setWindowFlag(Qt.WindowType.WindowStaysOnBottomHint)
60
68
 
61
69
  def paintEvent(self, event) -> None:
70
+ front_engine_logger.info(f"GifWidget paintEvent event: {event}")
62
71
  current_gif_frame = self.movie.currentPixmap()
63
72
  painter = QPainter(self)
64
73
  painter.setOpacity(self.opacity)
@@ -71,11 +80,14 @@ class GifWidget(QWidget):
71
80
  painter.restore()
72
81
 
73
82
  def mousePressEvent(self, event) -> None:
83
+ front_engine_logger.info(f"GifWidget mousePressEvent event: {event}")
74
84
  super().mousePressEvent(event)
75
85
 
76
86
  def mouseDoubleClickEvent(self, event) -> None:
87
+ front_engine_logger.info(f"GifWidget mouseDoubleClickEvent event: {event}")
77
88
  super().mouseDoubleClickEvent(event)
78
89
 
79
90
  def mouseGrabber(self) -> None:
91
+ front_engine_logger.info(f"GifWidget mouseGrabber event: {event}")
80
92
  super().mouseGrabber()
81
93
 
@@ -5,12 +5,17 @@ from PySide6.QtCore import Qt, QRect
5
5
  from PySide6.QtGui import QPainter, QImage, QIcon
6
6
  from PySide6.QtWidgets import QWidget, QMessageBox
7
7
 
8
+ from frontengine.utils.logging.loggin_instance import front_engine_logger
8
9
  from frontengine.utils.multi_language.language_wrapper import language_wrapper
9
10
 
10
11
 
11
12
  class ImageWidget(QWidget):
12
13
 
13
14
  def __init__(self, image_path: str, draw_location_x: int = 0, draw_location_y: int = 0):
15
+ front_engine_logger.info("Init ImageWidget"
16
+ f"image_path: {image_path} "
17
+ f"draw_location_x: {draw_location_x} "
18
+ f" draw_location_y: {draw_location_y}")
14
19
  super().__init__()
15
20
  self.draw_location_x = draw_location_x
16
21
  self.draw_location_y = draw_location_y
@@ -34,6 +39,7 @@ class ImageWidget(QWidget):
34
39
  self.setWindowIcon(QIcon(str(self.icon_path)))
35
40
 
36
41
  def set_ui_window_flag(self, show_on_bottom: bool = False) -> None:
42
+ front_engine_logger.info(f"ImageWidget set_ui_window_flag show_on_bottom: {show_on_bottom}")
37
43
  self.setWindowFlag(
38
44
  Qt.WindowType.WindowTransparentForInput |
39
45
  Qt.WindowType.FramelessWindowHint |
@@ -45,9 +51,11 @@ class ImageWidget(QWidget):
45
51
  self.setWindowFlag(Qt.WindowType.WindowStaysOnBottomHint)
46
52
 
47
53
  def set_ui_variable(self, opacity: float = 0.2) -> None:
54
+ front_engine_logger.info(f"ImageWidget set_ui_variable opacity: {opacity}")
48
55
  self.opacity = opacity
49
56
 
50
57
  def paintEvent(self, event) -> None:
58
+ front_engine_logger.info(f"ImageWidget paintEvent event: {event}")
51
59
  painter = QPainter(self)
52
60
  painter.setOpacity(self.opacity)
53
61
  painter.drawImage(
@@ -56,10 +64,13 @@ class ImageWidget(QWidget):
56
64
  painter.restore()
57
65
 
58
66
  def mousePressEvent(self, event) -> None:
67
+ front_engine_logger.info(f"ImageWidget mousePressEvent event: {event}")
59
68
  super().mousePressEvent(event)
60
69
 
61
70
  def mouseDoubleClickEvent(self, event) -> None:
71
+ front_engine_logger.info(f"ImageWidget mouseDoubleClickEvent event: {event}")
62
72
  super().mouseDoubleClickEvent(event)
63
73
 
64
74
  def mouseGrabber(self) -> None:
75
+ front_engine_logger.info(f"ImageWidget mouseGrabber")
65
76
  super().mouseGrabber()
@@ -5,9 +5,13 @@ from PySide6.QtUiTools import QUiLoader
5
5
  from PySide6.QtWidgets import QWidget
6
6
 
7
7
  from frontengine.utils.exception.exceptions import FrontEngineLoadUIException
8
+ from frontengine.utils.logging.loggin_instance import front_engine_logger
8
9
 
9
10
 
10
11
  def load_extend_ui_file(ui_path: str, show_all_screen: bool = False) -> None:
12
+ front_engine_logger.info("load_someone_make_ui.py load_extend_ui_file "
13
+ f"ui_path: {ui_path} "
14
+ f"show_all_screen: {show_all_screen}")
11
15
  ui: QWidget = load_ui_file(ui_path)
12
16
  if show_all_screen:
13
17
  ui.showFullScreen()
@@ -21,6 +25,8 @@ def load_extend_ui_file(ui_path: str, show_all_screen: bool = False) -> None:
21
25
 
22
26
 
23
27
  def load_ui_file(ui_path: str) -> QWidget:
28
+ front_engine_logger.info("load_someone_make_ui.py load_extend_ui_file "
29
+ f"ui_path: {ui_path}")
24
30
  ui: QWidget = QUiLoader().load(ui_path)
25
31
  if not ui:
26
32
  raise FrontEngineLoadUIException
@@ -28,6 +34,8 @@ def load_ui_file(ui_path: str) -> QWidget:
28
34
 
29
35
 
30
36
  def read_extend_ui(ui: QWidget) -> Union[QWidget, None]:
37
+ front_engine_logger.info("load_someone_make_ui.py load_extend_ui_file "
38
+ f"ui: {ui}")
31
39
  if isinstance(ui, QWidget) is False:
32
40
  return
33
41
  else:
@@ -8,6 +8,7 @@ from PySide6.QtWidgets import QGraphicsScene
8
8
  from frontengine.show.particle.particle_utils import particle_down, particle_up, particle_left, particle_right, \
9
9
  particle_left_down, particle_left_up, particle_right_down, particle_right_up, particle_random_minus, \
10
10
  particle_random_add, particle_random
11
+ from frontengine.utils.logging.loggin_instance import front_engine_logger
11
12
 
12
13
 
13
14
  class ParticleGraphicScene(QGraphicsScene):
@@ -16,6 +17,14 @@ class ParticleGraphicScene(QGraphicsScene):
16
17
  particle_count: int = 500,
17
18
  screen_height: int = 1920, screen_width: int = 1080, opacity: float = 0.2,
18
19
  particle_speed: int = 1):
20
+ front_engine_logger.info("Init ParticleGraphicScene "
21
+ f"particle_pixmap: {particle_pixmap} "
22
+ f"particle_direction: {particle_direction} "
23
+ f"particle_count: {particle_count} "
24
+ f"screen_height: {screen_height} "
25
+ f"screen_width: {screen_width} "
26
+ f"opacity: {opacity} "
27
+ f"particle_speed: {particle_speed} ")
19
28
  super().__init__()
20
29
  self.particle_pixmap: QPixmap = particle_pixmap
21
30
  self.particle_direction: str = particle_direction
@@ -46,6 +55,7 @@ class ParticleGraphicScene(QGraphicsScene):
46
55
  self.update_timer.start()
47
56
 
48
57
  def create_particle(self):
58
+ front_engine_logger.info("ParticleGraphicScene create_particle")
49
59
  self.particle_dict = {}
50
60
  for count in range(self.particle_count):
51
61
  item = self.addPixmap(self.particle_pixmap)
@@ -61,6 +71,7 @@ class ParticleGraphicScene(QGraphicsScene):
61
71
  })
62
72
 
63
73
  def update_particle_xy(self):
74
+ front_engine_logger.info("ParticleGraphicScene update_particle_xy")
64
75
  self.update_function(self.particle_dict, self.particle_speed)
65
76
  for particle_key, particle in self.particle_dict.items():
66
77
  pixmap_item = particle.get("pixmap_item")
@@ -4,6 +4,7 @@ from PySide6.QtWidgets import QWidget, QGridLayout
4
4
 
5
5
  from frontengine.show.particle.particle_scene import ParticleGraphicScene
6
6
  from frontengine.show.scene.extend_graphic_view import ExtendGraphicView
7
+ from frontengine.utils.logging.loggin_instance import front_engine_logger
7
8
 
8
9
 
9
10
  class ParticleWidget(QWidget):
@@ -11,6 +12,15 @@ class ParticleWidget(QWidget):
11
12
  def __init__(self, pixmap: QPixmap, particle_size: int, particle_direction: str, particle_count: int = 50,
12
13
  screen_height: int = 1080, screen_width: int = 1920, opacity: float = 0.2,
13
14
  particle_speed: int = 1):
15
+ front_engine_logger.info("Init ParticleWidget "
16
+ f"pixmap: {pixmap} "
17
+ f"particle_size: {particle_size} "
18
+ f"particle_direction: {particle_direction} "
19
+ f"particle_count: {particle_count} "
20
+ f"screen_height: {screen_height} "
21
+ f"screen_width: {screen_width} "
22
+ f"opacity: {opacity} "
23
+ f"particle_speed: {particle_speed}")
14
24
  super().__init__()
15
25
  self.setAttribute(Qt.WidgetAttribute.WA_TranslucentBackground)
16
26
  self.setAttribute(Qt.WidgetAttribute.WA_DeleteOnClose)
@@ -28,6 +38,8 @@ class ParticleWidget(QWidget):
28
38
  self.setLayout(self.grid_layout)
29
39
 
30
40
  def set_ui_window_flag(self, show_on_bottom: bool = False) -> None:
41
+ front_engine_logger.info("ParticleWidget set_ui_window_flag "
42
+ f"show_on_bottom: {show_on_bottom}")
31
43
  self.setWindowFlag(
32
44
  Qt.WindowType.WindowTransparentForInput |
33
45
  Qt.WindowType.FramelessWindowHint |
@@ -1,60 +1,95 @@
1
1
  import random
2
2
  from typing import Dict, Callable
3
3
 
4
+ from frontengine.utils.logging.loggin_instance import front_engine_logger
5
+
4
6
 
5
7
  def particle_down(particle_dict: Dict[str, dict], particle_speed: int = 30) -> None:
8
+ front_engine_logger.info("particle_utils.py particle_down "
9
+ f"particle_dict: {particle_dict} "
10
+ f"particle_speed: {particle_speed}")
6
11
  for particle in particle_dict.values():
7
12
  particle.update({"y": particle.get("y") + random.randint(0, particle_speed)})
8
13
 
9
14
 
10
15
  def particle_up(particle_dict: Dict[str, dict], particle_speed: int = 30) -> None:
16
+ front_engine_logger.info("particle_utils.py particle_up "
17
+ f"particle_dict: {particle_dict} "
18
+ f"particle_speed: {particle_speed}")
11
19
  for particle in particle_dict.values():
12
20
  particle.update({"y": particle.get("y") - random.randint(0, particle_speed)})
13
21
 
14
22
 
15
23
  def particle_left(particle_dict: Dict[str, dict], particle_speed: int = 30) -> None:
24
+ front_engine_logger.info("particle_utils.py particle_left "
25
+ f"particle_dict: {particle_dict} "
26
+ f"particle_speed: {particle_speed}")
16
27
  for particle in particle_dict.values():
17
28
  particle.update({"x": particle.get("x") - random.randint(0, particle_speed)})
18
29
 
19
30
 
20
31
  def particle_right(particle_dict: Dict[str, dict], particle_speed: int = 30) -> None:
32
+ front_engine_logger.info("particle_utils.py particle_right "
33
+ f"particle_dict: {particle_dict} "
34
+ f"particle_speed: {particle_speed}")
21
35
  for particle in particle_dict.values():
22
36
  particle.update({"x": particle.get("x") + random.randint(0, particle_speed)})
23
37
 
24
38
 
25
39
  def particle_left_down(particle_dict: Dict[str, dict], particle_speed: int = 30) -> None:
40
+ front_engine_logger.info("particle_utils.py particle_left_down "
41
+ f"particle_dict: {particle_dict} "
42
+ f"particle_speed: {particle_speed}")
26
43
  particle_left(particle_dict, particle_speed)
27
44
  particle_down(particle_dict, particle_speed)
28
45
 
29
46
 
30
47
  def particle_left_up(particle_dict: Dict[str, dict], particle_speed: int = 30) -> None:
48
+ front_engine_logger.info("particle_utils.py particle_left_up "
49
+ f"particle_dict: {particle_dict} "
50
+ f"particle_speed: {particle_speed}")
31
51
  particle_left(particle_dict, particle_speed)
32
52
  particle_up(particle_dict, particle_speed)
33
53
 
34
54
 
35
55
  def particle_right_down(particle_dict: Dict[str, dict], particle_speed: int = 30) -> None:
56
+ front_engine_logger.info("particle_utils.py particle_right_down "
57
+ f"particle_dict: {particle_dict} "
58
+ f"particle_speed: {particle_speed}")
36
59
  particle_right(particle_dict, particle_speed)
37
60
  particle_down(particle_dict, particle_speed)
38
61
 
39
62
 
40
63
  def particle_right_up(particle_dict: Dict[str, dict], particle_speed: int = 30) -> None:
64
+ front_engine_logger.info("particle_utils.py particle_right_up "
65
+ f"particle_dict: {particle_dict} "
66
+ f"particle_speed: {particle_speed}")
41
67
  particle_right(particle_dict, particle_speed)
42
68
  particle_up(particle_dict, particle_speed)
43
69
 
44
70
 
45
71
  def particle_random_minus(particle_dict: Dict[str, dict], particle_speed: int = 30) -> None:
72
+ front_engine_logger.info("particle_utils.py particle_random_minus "
73
+ f"particle_dict: {particle_dict} "
74
+ f"particle_speed: {particle_speed}")
46
75
  for particle in particle_dict.values():
47
76
  particle.update({"y": particle.get("y") + random.randint(0, particle_speed)})
48
77
  particle.update({"x": particle.get("x") - random.randint(0, particle_speed)})
49
78
 
50
79
 
51
80
  def particle_random_add(particle_dict: Dict[str, dict], particle_speed: int = 30) -> None:
81
+ front_engine_logger.info("particle_utils.py particle_random_add "
82
+ f"particle_dict: {particle_dict} "
83
+ f"particle_speed: {particle_speed}")
52
84
  for particle in particle_dict.values():
53
85
  particle.update({"y": particle.get("y") - random.randint(0, particle_speed)})
54
86
  particle.update({"x": particle.get("x") + random.randint(0, particle_speed)})
55
87
 
56
88
 
57
89
  def particle_random(particle_dict: Dict[str, dict], particle_speed: int = 30) -> None:
90
+ front_engine_logger.info("particle_utils.py particle_random "
91
+ f"particle_dict: {particle_dict} "
92
+ f"particle_speed: {particle_speed}")
58
93
  function: Callable = random.choice(
59
94
  [particle_down, particle_up, particle_left, particle_right, particle_right_up, particle_left_down,
60
95
  particle_left_up, particle_right_down, particle_random_add, particle_random_minus])
@@ -1,7 +1,10 @@
1
1
  from PySide6.QtWidgets import QGraphicsScene
2
2
 
3
+ from frontengine.utils.logging.loggin_instance import front_engine_logger
4
+
3
5
 
4
6
  class ExtendGraphicScene(QGraphicsScene):
5
7
 
6
8
  def __init__(self):
9
+ front_engine_logger.info("Init ExtendGraphicScene")
7
10
  super().__init__()
@@ -1,10 +1,14 @@
1
1
  from PySide6.QtCore import Qt, QPoint
2
2
  from PySide6.QtWidgets import QGraphicsView
3
3
 
4
+ from frontengine.utils.logging.loggin_instance import front_engine_logger
5
+
4
6
 
5
7
  class ExtendGraphicView(QGraphicsView):
6
8
 
7
9
  def __init__(self, *args):
10
+ front_engine_logger.info("Init ExtendGraphicView "
11
+ f"args: {args}")
8
12
  super().__init__(*args)
9
13
  self.setWindowFlag(
10
14
  Qt.WindowType.FramelessWindowHint |
@@ -23,6 +27,8 @@ class ExtendGraphicView(QGraphicsView):
23
27
  if len(self.scene().items()) == 0:
24
28
  pass
25
29
  else:
30
+ front_engine_logger.info("ExtendGraphicView wheelEvent"
31
+ f"event: {event}")
26
32
  current_position = event.position()
27
33
  scene_position = self.mapToScene(QPoint(int(current_position.x()), int(current_position.y())))
28
34
  view_width = self.viewport().width()
@@ -10,6 +10,7 @@ from frontengine.show.sound_player.sound_player import SoundPlayer
10
10
  from frontengine.show.text.draw_text import TextWidget
11
11
  from frontengine.show.video.video_player import VideoWidget
12
12
  from frontengine.show.web.webview import WebWidget
13
+ from frontengine.utils.logging.loggin_instance import front_engine_logger
13
14
 
14
15
 
15
16
  class SceneManager(object):
@@ -17,12 +18,14 @@ class SceneManager(object):
17
18
  def __init__(
18
19
  self
19
20
  ):
21
+ front_engine_logger.info("Init SceneManager")
20
22
  super().__init__()
21
23
  self.graphic_scene = ExtendGraphicScene()
22
24
  self.widget_list: List[QGraphicsProxyWidget] = list()
23
25
  self.view_list: List[ExtendGraphicView] = []
24
26
 
25
27
  def add_image(self, setting_dict: Dict) -> QGraphicsProxyWidget:
28
+ front_engine_logger.info(f"SceneManager setting_dict: {setting_dict}")
26
29
  image_path = setting_dict.get("file_path")
27
30
  image_widget = ImageWidget(image_path)
28
31
  opacity = float(setting_dict.get("opacity")) / 100
@@ -33,6 +36,7 @@ class SceneManager(object):
33
36
  return proxy_widget
34
37
 
35
38
  def add_gif(self, setting_dict: Dict) -> QGraphicsProxyWidget:
39
+ front_engine_logger.info(f"SceneManager add_gif setting_dict: {setting_dict}")
36
40
  gif_image_path = setting_dict.get("file_path")
37
41
  gif_widget = GifWidget(gif_image_path)
38
42
  speed = int(setting_dict.get("speed"))
@@ -46,6 +50,7 @@ class SceneManager(object):
46
50
  return proxy_widget
47
51
 
48
52
  def add_sound(self, setting_dict: Dict) -> QGraphicsProxyWidget:
53
+ front_engine_logger.info(f"SceneManager add_sound setting_dict: {setting_dict}")
49
54
  sound_path = setting_dict.get("file_path")
50
55
  sound_widget = SoundPlayer(sound_path)
51
56
  volume = float(setting_dict.get("volume")) / 100
@@ -56,6 +61,7 @@ class SceneManager(object):
56
61
  return proxy_widget
57
62
 
58
63
  def add_text(self, setting_dict: Dict) -> QGraphicsProxyWidget:
64
+ front_engine_logger.info(f"SceneManager add_text setting_dict: {setting_dict}")
59
65
  text = setting_dict.get("text")
60
66
  text_widget = TextWidget(text)
61
67
  font_size = int(setting_dict.get("font_size"))
@@ -71,6 +77,7 @@ class SceneManager(object):
71
77
  return proxy_widget
72
78
 
73
79
  def add_video(self, video_setting: Dict) -> QGraphicsProxyWidget:
80
+ front_engine_logger.info(f"SceneManager add_video video_setting: {video_setting}")
74
81
  video_path = video_setting.get("file_path")
75
82
  video_widget = VideoWidget(video_path)
76
83
  opacity = float(video_setting.get("opacity")) / 100
@@ -86,6 +93,7 @@ class SceneManager(object):
86
93
  return proxy_widget
87
94
 
88
95
  def add_web(self, setting_dict: Dict) -> QGraphicsProxyWidget:
96
+ front_engine_logger.info(f"SceneManager add_web setting_dict: {setting_dict}")
89
97
  url = setting_dict.get("url")
90
98
  web_widget = WebWidget(url)
91
99
  opacity = float(setting_dict.get("opacity")) / 100
@@ -6,12 +6,14 @@ from PySide6.QtGui import QIcon
6
6
  from PySide6.QtMultimedia import QSoundEffect
7
7
  from PySide6.QtWidgets import QWidget, QMessageBox
8
8
 
9
+ from frontengine.utils.logging.loggin_instance import front_engine_logger
9
10
  from frontengine.utils.multi_language.language_wrapper import language_wrapper
10
11
 
11
12
 
12
13
  class SoundEffectWidget(QWidget):
13
14
 
14
15
  def __init__(self, sound_path: str):
16
+ front_engine_logger.info(f"Init SoundEffectWidget sound_path: {sound_path}")
15
17
  super().__init__()
16
18
  self.volume: float = 1
17
19
  self.setWindowFlag(
@@ -44,9 +46,11 @@ class SoundEffectWidget(QWidget):
44
46
  self.setWindowIcon(QIcon(str(self.icon_path)))
45
47
 
46
48
  def set_sound_effect_variable(self, volume: float = 1) -> None:
49
+ front_engine_logger.info(f"SoundEffectWidget set_sound_effect_variable volume:{volume}")
47
50
  self.volume = volume
48
51
  self.sound_player.setVolume(self.volume)
49
52
 
50
53
  def closeEvent(self, event) -> None:
54
+ front_engine_logger.info(f"SoundEffectWidget closeEvent event:{event}")
51
55
  super().closeEvent(event)
52
56
  self.sound_player.stop()
@@ -6,12 +6,14 @@ from PySide6.QtGui import QIcon
6
6
  from PySide6.QtMultimedia import QMediaPlayer, QAudioOutput
7
7
  from PySide6.QtWidgets import QWidget, QMessageBox
8
8
 
9
+ from frontengine.utils.logging.loggin_instance import front_engine_logger
9
10
  from frontengine.utils.multi_language.language_wrapper import language_wrapper
10
11
 
11
12
 
12
13
  class SoundPlayer(QWidget):
13
14
 
14
15
  def __init__(self, sound_path: str):
16
+ front_engine_logger.info(f"Init SoundPlayer sound_path: {sound_path}")
15
17
  super().__init__()
16
18
  self.volume: float = 1
17
19
  self.setWindowFlag(
@@ -45,9 +47,11 @@ class SoundPlayer(QWidget):
45
47
  self.setWindowIcon(QIcon(str(self.icon_path)))
46
48
 
47
49
  def set_player_variable(self, volume: float = 1) -> None:
50
+ front_engine_logger.info(f"SoundPlayer set_player_variable volume: {volume}")
48
51
  self.volume = volume
49
52
  self.media_player_audio.setVolume(self.volume)
50
53
 
51
54
  def closeEvent(self, event) -> None:
55
+ front_engine_logger.info(f"SoundPlayer closeEvent event: {event}")
52
56
  super().closeEvent(event)
53
57
  self.media_player.stop()
@@ -5,11 +5,18 @@ from PySide6.QtCore import Qt, QRect
5
5
  from PySide6.QtGui import QPainter, QFontDatabase, QIcon
6
6
  from PySide6.QtWidgets import QWidget
7
7
 
8
+ from frontengine.utils.logging.loggin_instance import front_engine_logger
9
+
8
10
 
9
11
  class TextWidget(QWidget):
10
12
 
11
13
  def __init__(self, text: str, draw_location_x: int = 0, draw_location_y: int = 0,
12
14
  alignment: str = "Center"):
15
+ front_engine_logger.info(f"Init TextWidget "
16
+ f"text: {text} "
17
+ f"draw_location_x: {draw_location_x} "
18
+ f"draw_location_y: {draw_location_y} "
19
+ f"alignment: {alignment}")
13
20
  super().__init__()
14
21
  self.draw_location_x = draw_location_x
15
22
  self.draw_location_y = draw_location_y
@@ -35,6 +42,7 @@ class TextWidget(QWidget):
35
42
  self.setWindowIcon(QIcon(str(self.icon_path)))
36
43
 
37
44
  def set_ui_window_flag(self, show_on_bottom: bool = False) -> None:
45
+ front_engine_logger.info(f"SoundPlayer set_ui_window_flag show_on_bottom: {show_on_bottom}")
38
46
  self.setWindowFlag(
39
47
  Qt.WindowType.WindowTransparentForInput |
40
48
  Qt.WindowType.FramelessWindowHint |
@@ -46,15 +54,19 @@ class TextWidget(QWidget):
46
54
  self.setWindowFlag(Qt.WindowType.WindowStaysOnBottomHint)
47
55
 
48
56
  def set_font_variable(self, font_size: int = 100) -> None:
57
+ front_engine_logger.info(f"SoundPlayer set_font_variable font_size: {font_size}")
49
58
  self.font_size = font_size
50
59
 
51
60
  def set_ui_variable(self, opacity: float = 0.2) -> None:
61
+ front_engine_logger.info(f"SoundPlayer set_ui_variable opacity: {opacity}")
52
62
  self.opacity = opacity
53
63
 
54
64
  def set_font(self):
65
+ front_engine_logger.info(f"SoundPlayer set_font")
55
66
  self.draw_font = QFontDatabase.font(self.font().family(), "", self.font_size)
56
67
 
57
68
  def set_alignment(self, alignment: str = "Center") -> None:
69
+ front_engine_logger.info(f"SoundPlayer set_alignment alignment: {alignment}")
58
70
  if alignment == "TopLeft":
59
71
  self.alignment = (Qt.AlignmentFlag.AlignTop | Qt.AlignmentFlag.AlignLeft)
60
72
  elif alignment == "TopRight":
@@ -67,6 +79,7 @@ class TextWidget(QWidget):
67
79
  self.alignment = Qt.AlignmentFlag.AlignCenter
68
80
 
69
81
  def paintEvent(self, event) -> None:
82
+ front_engine_logger.info(f"SoundPlayer paintEvent event: {event}")
70
83
  painter = QPainter(self)
71
84
  painter.setFont(
72
85
  self.draw_font
@@ -81,10 +94,13 @@ class TextWidget(QWidget):
81
94
  painter.restore()
82
95
 
83
96
  def mousePressEvent(self, event) -> None:
97
+ front_engine_logger.info(f"SoundPlayer mousePressEvent event: {event}")
84
98
  super().mousePressEvent(event)
85
99
 
86
100
  def mouseDoubleClickEvent(self, event) -> None:
101
+ front_engine_logger.info(f"SoundPlayer mouseDoubleClickEvent event: {event}")
87
102
  super().mouseDoubleClickEvent(event)
88
103
 
89
104
  def mouseGrabber(self) -> None:
105
+ front_engine_logger.info("SoundPlayer mouseGrabber ")
90
106
  super().mouseGrabber()
@@ -14,6 +14,7 @@ from frontengine.utils.multi_language.language_wrapper import language_wrapper
14
14
  class VideoWidget(QVideoWidget):
15
15
 
16
16
  def __init__(self, video_path: str):
17
+ front_engine_logger.info(f"Init VideoWidget video_path: {video_path}")
17
18
  super().__init__()
18
19
  self.opacity: float = 0.2
19
20
  self.volume: float = 1
@@ -47,6 +48,7 @@ class VideoWidget(QVideoWidget):
47
48
 
48
49
 
49
50
  def set_ui_window_flag(self, show_on_bottom: bool = False) -> None:
51
+ front_engine_logger.info(f"VideoWidget set_ui_window_flag show_on_bottom: {show_on_bottom}")
50
52
  self.setWindowFlag(
51
53
  Qt.WindowType.WindowTransparentForInput |
52
54
  Qt.WindowType.FramelessWindowHint |
@@ -59,27 +61,36 @@ class VideoWidget(QVideoWidget):
59
61
  self.setWindowFlag(Qt.WindowType.WindowStaysOnBottomHint)
60
62
 
61
63
  def set_ui_variable(self, opacity: float = 0.2) -> None:
64
+ front_engine_logger.info(f"VideoWidget set_ui_variable opacity: {opacity}")
62
65
  self.opacity = opacity
63
66
  self.setWindowOpacity(self.opacity)
64
67
 
65
68
  def set_player_variable(self, play_rate: float = 1, volume: float = 1) -> None:
69
+ front_engine_logger.info("VideoWidget set_player_variable "
70
+ f"play_rate: {play_rate} "
71
+ f"volume: {volume}")
66
72
  self.play_rate = play_rate
67
73
  self.volume = volume
68
74
  self.media_player.setPlaybackRate(self.play_rate)
69
75
  self.media_player.audioOutput().setVolume(self.volume)
70
76
 
71
77
  def closeEvent(self, event) -> None:
78
+ front_engine_logger.info(f"VideoWidget closeEvent event: {event}")
72
79
  super().closeEvent(event)
73
80
  self.media_player.stop()
74
81
 
75
82
  def video_player_error(self) -> None:
83
+ front_engine_logger.info("VideoWidget video_player_error")
76
84
  print(self.media_player.error())
77
85
 
78
86
  def mousePressEvent(self, event) -> None:
87
+ front_engine_logger.info(f"VideoWidget mousePressEvent event: {event}")
79
88
  super().mousePressEvent(event)
80
89
 
81
90
  def mouseDoubleClickEvent(self, event) -> None:
91
+ front_engine_logger.info(f"VideoWidget mouseDoubleClickEvent event: {event}")
82
92
  super().mouseDoubleClickEvent(event)
83
93
 
84
94
  def mouseGrabber(self) -> None:
95
+ front_engine_logger.info("VideoWidget mouseGrabber")
85
96
  super().mouseGrabber()
@@ -6,12 +6,16 @@ from PySide6.QtGui import QIcon, QAction
6
6
  from PySide6.QtWebEngineWidgets import QWebEngineView
7
7
  from PySide6.QtWidgets import QMessageBox, QMenu
8
8
 
9
+ from frontengine.utils.logging.loggin_instance import front_engine_logger
9
10
  from frontengine.utils.multi_language.language_wrapper import language_wrapper
10
11
 
11
12
 
12
13
  class WebWidget(QWebEngineView):
13
14
 
14
15
  def __init__(self, url: str, is_file: bool = False):
16
+ front_engine_logger.info("Init WebWidget "
17
+ f"url: {url} "
18
+ f"is_file: {is_file}")
15
19
  super().__init__()
16
20
  self.menu = None
17
21
  self.close_action = None
@@ -38,6 +42,7 @@ class WebWidget(QWebEngineView):
38
42
  self.setWindowIcon(QIcon(str(self.icon_path)))
39
43
 
40
44
  def contextMenuEvent(self, event):
45
+ front_engine_logger.info(f"WebWidget contextMenuEvent event: {event}")
41
46
  if self.close_action is None:
42
47
  self.close_action = QAction("Close")
43
48
  self.close_action.triggered.connect(self.close)
@@ -47,10 +52,14 @@ class WebWidget(QWebEngineView):
47
52
  self.menu.popup(event.globalPos())
48
53
 
49
54
  def set_ui_variable(self, opacity: float = 0.2) -> None:
55
+ front_engine_logger.info(f"WebWidget set_ui_variable opacity: {opacity}")
50
56
  self.opacity = opacity
51
57
  self.setWindowOpacity(opacity)
52
58
 
53
59
  def set_ui_window_flag(self, enable_input: bool = False, show_on_bottom: bool = False) -> None:
60
+ front_engine_logger.info("WebWidget set_ui_window_flag "
61
+ f"enable_input: {enable_input} "
62
+ f"show_on_bottom: {show_on_bottom}")
54
63
  if not enable_input:
55
64
  self.setWindowFlag(
56
65
  Qt.WindowType.WindowTransparentForInput
@@ -67,12 +76,15 @@ class WebWidget(QWebEngineView):
67
76
  )
68
77
 
69
78
  def mousePressEvent(self, event) -> None:
79
+ front_engine_logger.info(f"WebWidget mousePressEvent event: {event}")
70
80
  # if event.button() == Qt.MouseButton.MiddleButton:
71
81
  print(event.button())
72
82
  super().mousePressEvent(event)
73
83
 
74
84
  def mouseDoubleClickEvent(self, event) -> None:
85
+ front_engine_logger.info(f"WebWidget mouseDoubleClickEvent event: {event}")
75
86
  super().mouseDoubleClickEvent(event)
76
87
 
77
88
  def mouseGrabber(self) -> None:
89
+ front_engine_logger.info(f"WebWidget mouseGrabber")
78
90
  super().mouseGrabber()
@@ -2,6 +2,8 @@ from __future__ import annotations
2
2
 
3
3
  from typing import TYPE_CHECKING
4
4
 
5
+ from frontengine.utils.logging.loggin_instance import front_engine_logger
6
+
5
7
  if TYPE_CHECKING:
6
8
  from frontengine.ui.main_ui import FrontEngineMainUI
7
9
 
@@ -12,6 +14,7 @@ from PySide6.QtWidgets import QSystemTrayIcon, QMenu
12
14
  class ExtendSystemTray(QSystemTrayIcon):
13
15
 
14
16
  def __init__(self, main_window: FrontEngineMainUI):
17
+ front_engine_logger.info(f"Init ExtendSystemTray main_window: {main_window}")
15
18
  super().__init__(parent=main_window)
16
19
  self.menu = QMenu()
17
20
  self.main_window = main_window
@@ -31,9 +34,11 @@ class ExtendSystemTray(QSystemTrayIcon):
31
34
  self.activated.connect(self.clicked)
32
35
 
33
36
  def close_all(self):
37
+ front_engine_logger.info("ExtendSystemTray close_all")
34
38
  self.setVisible(False)
35
39
  self.main_window.close()
36
40
 
37
41
  def clicked(self, reason):
42
+ front_engine_logger.info(f"ExtendSystemTray clicked reason:{reason}")
38
43
  if reason == self.ActivationReason.DoubleClick:
39
44
  self.main_window.showMaximized()
@@ -1,15 +1,25 @@
1
1
  import logging
2
- import sys
2
+ from logging.handlers import RotatingFileHandler
3
3
 
4
+ logging.root.setLevel(logging.DEBUG)
4
5
  front_engine_logger = logging.getLogger("FrontEngine")
5
- front_engine_logger.setLevel(logging.INFO)
6
6
  formatter = logging.Formatter('%(asctime)s | %(name)s | %(levelname)s | %(message)s')
7
- # Stream handler
8
- stream_handler = logging.StreamHandler(stream=sys.stderr)
9
- stream_handler.setFormatter(formatter)
10
- stream_handler.setLevel(logging.WARNING)
11
- front_engine_logger.addHandler(stream_handler)
7
+
8
+
9
+ class FrontEngineLoggingHandler(RotatingFileHandler):
10
+
11
+ # redirect logging stderr output to queue
12
+
13
+ def __init__(self, filename: str = "FrontEngine.log", mode="w",
14
+ maxBytes:int=1073741824, backupCount:int=0):
15
+ super().__init__(filename=filename, mode=mode, maxBytes=maxBytes, backupCount=backupCount)
16
+ self.formatter = formatter
17
+ self.setLevel(logging.DEBUG)
18
+
19
+ def emit(self, record: logging.LogRecord) -> None:
20
+ super().emit(record)
21
+
22
+
12
23
  # File handler
13
- file_handler = logging.FileHandler(filename="FrontEngine.log", mode="w")
14
- file_handler.setFormatter(formatter)
24
+ file_handler = FrontEngineLoggingHandler()
15
25
  front_engine_logger.addHandler(file_handler)
@@ -2,6 +2,8 @@ import logging
2
2
  import queue
3
3
  import sys
4
4
 
5
+ from frontengine.utils.logging.loggin_instance import front_engine_logger
6
+
5
7
 
6
8
  class RedirectStdOut(logging.Handler):
7
9
 
@@ -10,7 +12,7 @@ class RedirectStdOut(logging.Handler):
10
12
  def __init__(self):
11
13
  super().__init__()
12
14
 
13
- def write(self, content_to_write):
15
+ def write(self, content_to_write) -> None:
14
16
  redirect_manager_instance.std_out_queue.put(content_to_write)
15
17
 
16
18
  def emit(self, record: logging.LogRecord) -> None:
@@ -24,7 +26,7 @@ class RedirectStdErr(logging.Handler):
24
26
  def __init__(self):
25
27
  super().__init__()
26
28
 
27
- def write(self, content_to_write):
29
+ def write(self, content_to_write) -> None:
28
30
  redirect_manager_instance.std_err_queue.put(content_to_write)
29
31
 
30
32
  def emit(self, record: logging.LogRecord) -> None:
@@ -32,35 +34,38 @@ class RedirectStdErr(logging.Handler):
32
34
 
33
35
 
34
36
  class RedirectManager(object):
35
-
37
+ # Redirect all output to queue
36
38
  def __init__(self):
37
- self.is_use_ui: bool = False
38
- self.ui = None
39
+ front_engine_logger.info("Init RedirectManager")
39
40
  self.std_err_queue = queue.Queue()
40
41
  self.std_out_queue = queue.Queue()
41
42
 
42
- def set_redirect(self, ui, is_use_ui: bool = False):
43
+ @staticmethod
44
+ def set_redirect() -> None:
43
45
  """
44
- :param ui: tkinter_ui instance
45
- :param is_use_ui: false for cli
46
46
  :return: None
47
47
  """
48
- self.ui = ui
49
- self.is_use_ui = is_use_ui
50
- if self.is_use_ui is True and self.ui is not None:
51
- redirect_out = RedirectStdOut()
52
- redirect_err = RedirectStdErr()
53
- sys.stdout = redirect_out
54
- sys.stderr = redirect_err
55
- for name in logging.root.manager.loggerDict.keys():
48
+ front_engine_logger.info("RedirectManager set_redirect")
49
+ redirect_out = RedirectStdOut()
50
+ redirect_err = RedirectStdErr()
51
+ sys.stdout = redirect_out
52
+ sys.stderr = redirect_err
53
+ default_logger = logging.getLogger("RedirectManager")
54
+ default_logger.addHandler(redirect_err)
55
+ skip_logger_list = ["JEditor", "FrontEngine", "AutomationIDE"]
56
+ for name in logging.root.manager.loggerDict.keys():
57
+ if name in skip_logger_list:
58
+ continue
59
+ else:
56
60
  logging.getLogger(name).addHandler(redirect_err)
57
61
 
58
62
  @staticmethod
59
- def restore_std():
63
+ def restore_std() -> None:
60
64
  """
61
65
  reset redirect
62
66
  :return: None
63
67
  """
68
+ front_engine_logger.info("RedirectManager restore_std")
64
69
  sys.stdout = sys.__stdout__
65
70
  sys.stderr = sys.__stderr__
66
71
 
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: frontengine_dev
3
- Version: 0.0.73
4
- Summary: FrontEngine is BingGPT that can use-define front end or only use like screen saver
3
+ Version: 0.0.75
4
+ Summary: FrontEngine is use-define frontview or only use like screen saver
5
5
  Author-email: JE-Chen <jechenmailman@gmail.com>
6
6
  License: MIT
7
7
  Project-URL: Homepage, https://github.com/Intergration-Automation-Testing/FrontEngine
@@ -16,7 +16,7 @@ Classifier: Operating System :: OS Independent
16
16
  Requires-Python: >=3.9
17
17
  Description-Content-Type: text/markdown
18
18
  License-File: LICENSE
19
- Requires-Dist: PySide6
19
+ Requires-Dist: PySide6==6.8.1
20
20
  Requires-Dist: qt-material
21
21
 
22
22
  [![Downloads](https://static.pepy.tech/badge/frontengine)](https://pepy.tech/project/frontengine)
@@ -1,34 +1,33 @@
1
1
  frontengine/__init__.py,sha256=kRQu2NKQX6VjF70N7Alqp31mxqJ5SRZL1Ri4abYvz0c,1938
2
- frontengine/gl_widget/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
2
  frontengine/show/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
3
  frontengine/show/clicker/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
- frontengine/show/clicker/clicker_scene.py,sha256=pZJdy4xP52fgU1aZP74KNimJdW7jw6RKmjco2Ct_G5Y,149
6
- frontengine/show/clicker/clicker_ui.py,sha256=XzayxCffi_LKocMzaIWV9WQ6Zpx1DnadFRCWeaB0j3k,1204
4
+ frontengine/show/clicker/clicker_scene.py,sha256=xa0V0IlOe8-h2hmBemh2e_RE0VuE6KXvKDRxSF_nMVc,288
5
+ frontengine/show/clicker/clicker_ui.py,sha256=ZvZK4-hVQg7kYt5OO_YMBFAcWg1Hv2UsiFu0exo3Eho,1405
7
6
  frontengine/show/gif/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
8
- frontengine/show/gif/paint_gif.py,sha256=IDF5HVZGKuuKs8fqjGgICe2fWvMTUPrTZJ6u2oteO8U,3080
7
+ frontengine/show/gif/paint_gif.py,sha256=wCC47P2qOPpdt6eH1MPq9aCSdsI1Gvaiy3lKfDNFJIs,4000
9
8
  frontengine/show/image/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
- frontengine/show/image/paint_image.py,sha256=1mlTMYvScXjvxdkIEu3x8TmMsVvFciMaQFUl_STcqrQ,2511
9
+ frontengine/show/image/paint_image.py,sha256=ar_CTNCc_VD9jQJ5LvUEsZe67ZdCQazkcfWOz7e-jIY,3343
11
10
  frontengine/show/load/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
12
- frontengine/show/load/load_someone_make_ui.py,sha256=yjMrkA76VEYkKXygwKmoKaADymjjDlebI-7PNa6DrEo,1010
11
+ frontengine/show/load/load_someone_make_ui.py,sha256=CfQ28XFNwgBGQc0LyfTX8oEZ7sLCBew9eR-9ijllKY8,1534
13
12
  frontengine/show/particle/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
- frontengine/show/particle/particle_scene.py,sha256=KH09td30_hnZksdf3pAByugq2WUIHIjKFqM7puNbTCA,3142
15
- frontengine/show/particle/particle_ui.py,sha256=TacLlBOuWN_18GBYEd1Auqvu5vnM1QYBvY3rDmAeny8,1881
16
- frontengine/show/particle/particle_utils.py,sha256=ekfRYOidAchPlRpuoAuftFBNROMS3e9aA4Z2shQ3Y9c,2725
13
+ frontengine/show/particle/particle_scene.py,sha256=UTtYmkE4xy5hAXuvuhXs_igpkRBXjo-cJebiGfDsU40,3919
14
+ frontengine/show/particle/particle_ui.py,sha256=2ywRu79UnqzBh3EgTWV1SHZEaV2TSo99L0dsNGh9KjI,2693
15
+ frontengine/show/particle/particle_utils.py,sha256=782PveIuosX6NH5p_lBfekzECzYRjAoovoy_MaLVhnA,5002
17
16
  frontengine/show/scene/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
18
- frontengine/show/scene/extend_graphic_scene.py,sha256=7UiEr_kRbhheGOj_rYeq3fAUtRacq2WH8fQZV0Q-tA4,148
19
- frontengine/show/scene/extend_graphic_view.py,sha256=b5yAA_PqMTCnn7-63Q8Fhm9HBiWfjo48_1xjh2nP67I,1999
20
- frontengine/show/scene/scene.py,sha256=3DkiM0-JT2RT-1aAXz5imHd8pg6ngt7Pv7QniZUvAs8,4420
17
+ frontengine/show/scene/extend_graphic_scene.py,sha256=5Kno9hb3if-R6MEcuQpy9pfcgOdkfhDoPpAxS8RM-Rw,286
18
+ frontengine/show/scene/extend_graphic_view.py,sha256=nMn5-sFOx2FTHgZr4VuK-tNQw8plhjiqVNXru5bARzw,2313
19
+ frontengine/show/scene/scene.py,sha256=tZVi7T4nn-yln7FKrwiuziMay107COnpPLatRBXgDLY,5077
21
20
  frontengine/show/sound_player/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
22
- frontengine/show/sound_player/sound_effect.py,sha256=pHsf0DC1cHwo66neudKzIUqiuWihlXR1a34-_AQrbo0,2032
23
- frontengine/show/sound_player/sound_player.py,sha256=VOXwKI6-VdMH18u__atCay3wVJFu3TTHiygnQ8MNCTE,2135
21
+ frontengine/show/sound_player/sound_effect.py,sha256=JWTm-xYo1MjrJb9F-Cy7fQDM24e3CWsaynt_1fVJn-g,2372
22
+ frontengine/show/sound_player/sound_player.py,sha256=iOkjbCLP5eGfe5DLLee3xao1ue_hMCjF9SmUN0hOHig,2453
24
23
  frontengine/show/text/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
25
- frontengine/show/text/draw_text.py,sha256=7uXWXDVU6TE5sfQ52bXCNkl0uBIR3dku7xyZPKOqRD4,3685
24
+ frontengine/show/text/draw_text.py,sha256=y-zJNMGErYR46LTZw5CkMUYepny2MZdR-G9TsUze6dk,4805
26
25
  frontengine/show/video/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
27
- frontengine/show/video/video_player.py,sha256=ndiMp4nNvxJ3cpuBw_qvtbdm8dnwdm7Jnxl3ke0i0ZU,3360
26
+ frontengine/show/video/video_player.py,sha256=8oGA79kRF5AGERqAR5AD2drnjoXWwoeILn801xSV48M,4186
28
27
  frontengine/show/web/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
29
- frontengine/show/web/webview.py,sha256=KBu68YCjXDMhd4Y_dN5rILD7YQOo5H-t6v6KafB0Z4I,2974
28
+ frontengine/show/web/webview.py,sha256=qLG9S2NAx43yH1iPyLDZCAMibg8HGTMymQUb8wVl9oE,3799
30
29
  frontengine/system_tray/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
31
- frontengine/system_tray/extend_system_tray.py,sha256=k4u2lEox-fCwmQKy1qnek9SGoqUkMFv8Av_DcNanwcE,1595
30
+ frontengine/system_tray/extend_system_tray.py,sha256=6-0ttlsdlqbF3cK63bnCk9o0NEpsNghLRh91tLXC56M,1902
32
31
  frontengine/ui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
33
32
  frontengine/ui/main_ui.py,sha256=g-6RpWmqjxwtM-xumPRxQvgMWvIz0BEkBvkn-Ki1ypU,7494
34
33
  frontengine/ui/color/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -91,7 +90,7 @@ frontengine/utils/json/json_file.py,sha256=vFZDM0SDxlVcwN-2iGCGM24pl5ldO0a0SVNm7
91
90
  frontengine/utils/json_format/__init__.py,sha256=frcCV1k9oG9oKj3dpUqdJg1PxRT2RSN_XKdLCPjaYaY,2
92
91
  frontengine/utils/json_format/json_process.py,sha256=xJt_4Hm_o3sNDoeGtRW9Q7fsRj3DLiTbW-W8IqB8vt8,1021
93
92
  frontengine/utils/logging/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
94
- frontengine/utils/logging/loggin_instance.py,sha256=Zjr384o2q8x0QWv_hNoHIM_zCp5-HFgW14t-d30GUcQ,598
93
+ frontengine/utils/logging/loggin_instance.py,sha256=vib4q2tciK-tWBF9varY8uswoKLAxcGxcjXlXSRAFho,863
95
94
  frontengine/utils/multi_language/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
96
95
  frontengine/utils/multi_language/english.py,sha256=-Xc9wLLJuqaUIPrPv_g2V7T347FcVmaNKMrjNf2Kpb0,6195
97
96
  frontengine/utils/multi_language/france.py,sha256=_N3gNqYsaLqOty8jUrF_ghA_uxwQ72jJzjG3i7_M6WQ,7197
@@ -102,11 +101,11 @@ frontengine/utils/multi_language/russian.py,sha256=KoORJ56Cjt_qJekBopHIolXjbeu5D
102
101
  frontengine/utils/multi_language/simplified_chinese.py,sha256=ViN7N2XXdscSJmxnefAh7IpSK53-SLMypmxtCZcvv7Y,6403
103
102
  frontengine/utils/multi_language/traditional_chinese.py,sha256=Xd4i4uiJz6zyssVPAxEAcU-WzjzkbcUoeI3X9KLNEEU,6413
104
103
  frontengine/utils/redirect_manager/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
105
- frontengine/utils/redirect_manager/redirect_manager_class.py,sha256=zGJeVpjRU12MCnhVAdksAIhK_IhddI4cNKVb7DMgOZA,1888
104
+ frontengine/utils/redirect_manager/redirect_manager_class.py,sha256=VSPw72z-__hHt07dF8Ds2Oel_hfl3Akd9dLcTclpau8,2196
106
105
  frontengine/worker/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
107
106
  frontengine/worker/qthread_worker.py,sha256=TcmRv4PUlWxYLzMoB_6fUefEZpVhNy5D6_hhShAdKzU,875
108
- frontengine_dev-0.0.73.dist-info/LICENSE,sha256=b3VlPBXnrDylKGffOEOLWMgOX-yfd65XC7PA1_sox2o,1085
109
- frontengine_dev-0.0.73.dist-info/METADATA,sha256=eXj5QKYYicPruOxWKqjauBEdapM0lDOhAdJK1KDG7s4,2170
110
- frontengine_dev-0.0.73.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
111
- frontengine_dev-0.0.73.dist-info/top_level.txt,sha256=btCybScN_ubeQ8phsSDBB0T-HyHjqt7b-WPy61uTox0,12
112
- frontengine_dev-0.0.73.dist-info/RECORD,,
107
+ frontengine_dev-0.0.75.dist-info/LICENSE,sha256=b3VlPBXnrDylKGffOEOLWMgOX-yfd65XC7PA1_sox2o,1085
108
+ frontengine_dev-0.0.75.dist-info/METADATA,sha256=zCFaWvGRBx8eHvzYZG-afvjha3mvGsK7inAm6cRQUZY,2160
109
+ frontengine_dev-0.0.75.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
110
+ frontengine_dev-0.0.75.dist-info/top_level.txt,sha256=btCybScN_ubeQ8phsSDBB0T-HyHjqt7b-WPy61uTox0,12
111
+ frontengine_dev-0.0.75.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.1.0)
2
+ Generator: setuptools (75.6.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
File without changes