pyloid 0.20.2__py3-none-any.whl → 0.20.2.dev0__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
pyloid/tray.py CHANGED
@@ -1,48 +1,48 @@
1
- from enum import Enum
2
- from PySide6.QtWidgets import QSystemTrayIcon
3
-
4
-
5
- class TrayEvent(Enum):
6
- """
7
- TrayEvent is an enumeration class representing events related to the system tray icon.
8
-
9
- Enumeration Members
10
- -------------------
11
- DoubleClick : Event that occurs when the tray icon is double-clicked
12
- MiddleClick : Event that occurs when the tray icon is clicked with the middle button
13
- RightClick : Event that occurs when the tray icon is right-clicked (context menu)
14
- LeftClick : Event that occurs when the tray icon is left-clicked
15
- Unknown : Unknown event
16
-
17
- Usage Example
18
- -------------
19
- ```python
20
- from pyloid import Pyloid, TrayEvent
21
-
22
- app = Pyloid(app_name="Pyloid-App")
23
-
24
- app.set_tray_icon("icons/icon.ico")
25
-
26
- app.set_tray_actions(
27
- {
28
- TrayEvent.DoubleClick: lambda: print("Tray icon was double-clicked."),
29
- TrayEvent.MiddleClick: lambda: print("Tray icon was middle-clicked."),
30
- TrayEvent.RightClick: lambda: print("Tray icon was right-clicked."),
31
- TrayEvent.LeftClick: lambda: print("Tray icon was left-clicked."),
32
- }
33
- )
34
- ```
35
- """
36
- DoubleClick = QSystemTrayIcon.ActivationReason.DoubleClick
37
- MiddleClick = QSystemTrayIcon.ActivationReason.MiddleClick
38
- RightClick = QSystemTrayIcon.ActivationReason.Context
39
- LeftClick = QSystemTrayIcon.ActivationReason.Trigger
40
- Unknown = QSystemTrayIcon.ActivationReason.Unknown
41
-
42
- def __eq__(self, other):
43
- if isinstance(other, QSystemTrayIcon.ActivationReason):
44
- return self.value == other
45
- return super().__eq__(other)
46
-
47
- def __hash__(self):
48
- return hash(self.value)
1
+ from enum import Enum
2
+ from PySide6.QtWidgets import QSystemTrayIcon
3
+
4
+
5
+ class TrayEvent(Enum):
6
+ """
7
+ TrayEvent is an enumeration class representing events related to the system tray icon.
8
+
9
+ Enumeration Members
10
+ -------------------
11
+ DoubleClick : Event that occurs when the tray icon is double-clicked
12
+ MiddleClick : Event that occurs when the tray icon is clicked with the middle button
13
+ RightClick : Event that occurs when the tray icon is right-clicked (context menu)
14
+ LeftClick : Event that occurs when the tray icon is left-clicked
15
+ Unknown : Unknown event
16
+
17
+ Usage Example
18
+ -------------
19
+ ```python
20
+ from pyloid import Pyloid, TrayEvent
21
+
22
+ app = Pyloid(app_name="Pyloid-App")
23
+
24
+ app.set_tray_icon("icons/icon.ico")
25
+
26
+ app.set_tray_actions(
27
+ {
28
+ TrayEvent.DoubleClick: lambda: print("Tray icon was double-clicked."),
29
+ TrayEvent.MiddleClick: lambda: print("Tray icon was middle-clicked."),
30
+ TrayEvent.RightClick: lambda: print("Tray icon was right-clicked."),
31
+ TrayEvent.LeftClick: lambda: print("Tray icon was left-clicked."),
32
+ }
33
+ )
34
+ ```
35
+ """
36
+ DoubleClick = QSystemTrayIcon.ActivationReason.DoubleClick
37
+ MiddleClick = QSystemTrayIcon.ActivationReason.MiddleClick
38
+ RightClick = QSystemTrayIcon.ActivationReason.Context
39
+ LeftClick = QSystemTrayIcon.ActivationReason.Trigger
40
+ Unknown = QSystemTrayIcon.ActivationReason.Unknown
41
+
42
+ def __eq__(self, other):
43
+ if isinstance(other, QSystemTrayIcon.ActivationReason):
44
+ return self.value == other
45
+ return super().__eq__(other)
46
+
47
+ def __hash__(self):
48
+ return hash(self.value)
pyloid/utils.py CHANGED
@@ -1,122 +1,122 @@
1
- import sys
2
- import os
3
- import platform
4
- from typing import Optional
5
-
6
-
7
- def get_production_path(path: Optional[str] = None) -> Optional[str]:
8
- """
9
- Returns the path to the resource files in a production environment.
10
- If running as a regular Python script, returns None.
11
-
12
- Returns
13
- -------
14
- str | None
15
- The path to the resource files if in a production environment,
16
- otherwise None.
17
-
18
- Examples
19
- --------
20
- >>> from pyloid.utils import get_production_path
21
- >>> path = get_production_path("assets/icon.ico")
22
- >>> if path:
23
- >>> print(f"Production path: {path}")
24
- >>> else:
25
- >>> print("Not in a production environment.")
26
- """
27
- if is_production():
28
- if hasattr(sys, '_MEIPASS'):
29
- # PyInstaller
30
- base_path = sys._MEIPASS
31
- else:
32
- # Nuitka
33
- base_path = os.path.dirname(sys.executable)
34
-
35
- if base_path is None:
36
- # 환경변수가 없는 경우 실행 파일 디렉토리 사용
37
- base_path = os.path.dirname(os.path.abspath(sys.argv[0]))
38
-
39
-
40
- return os.path.join(base_path, path) if path else base_path
41
- else:
42
- return None
43
-
44
-
45
- def is_production() -> bool:
46
- """
47
- Checks if the current environment is a production environment.
48
-
49
- Returns
50
- -------
51
- bool
52
- True if in a production environment, False otherwise.
53
-
54
- Examples
55
- --------
56
- >>> from pyloid.utils import is_production
57
- >>> if is_production():
58
- >>> print("Running in production environment.")
59
- >>> else:
60
- >>> print("Not in production environment.")
61
- """
62
- # Nuitka 환경 확인을 추가
63
- if '__compiled__' in globals():
64
- return True
65
- # PyInstaller 환경 확인
66
- return getattr(sys, 'frozen', False)
67
-
68
-
69
- def get_platform() -> str:
70
- """
71
- Returns the name of the current system's platform.
72
-
73
- This function uses `platform.system()` to return the name of the current operating system.
74
-
75
- Returns
76
- -------
77
- "windows" | "macos" | "linux"
78
- - "windows" for Windows systems
79
- - "macos" for macOS systems
80
- - "linux" for Linux systems
81
-
82
- Examples
83
- --------
84
- >>> from pyloid.utils import get_platform
85
- >>> platform_name = get_platform()
86
- >>> print(platform_name)
87
- windows
88
- """
89
- os_name = platform.system().lower()
90
- os_type = {
91
- 'darwin': 'macos',
92
- 'linux': 'linux',
93
- 'windows': 'windows'
94
- }.get(os_name)
95
- if os_type is None:
96
- raise ValueError(f"Unsupported platform: {os_name}")
97
-
98
- return os_type
99
-
100
- def get_absolute_path(path: str) -> str:
101
- """
102
- Returns the absolute path of the given relative path.
103
-
104
- Parameters
105
- ----------
106
- path : str
107
- The relative path to get the absolute path of.
108
-
109
- Returns
110
- -------
111
- str
112
- The absolute path of the given relative path.
113
-
114
- Examples
115
- --------
116
- >>> from pyloid.utils import get_absolute_path
117
- >>> absolute_path = get_absolute_path("assets/icon.ico")
118
- >>> print(absolute_path)
119
- C:/Users/aaaap/Documents/pyloid/pyloid/assets/icon.ico
120
- """
121
- return os.path.normpath(os.path.abspath(path))
122
-
1
+ import sys
2
+ import os
3
+ import platform
4
+ from typing import Optional
5
+
6
+
7
+ def get_production_path(path: Optional[str] = None) -> Optional[str]:
8
+ """
9
+ Returns the path to the resource files in a production environment.
10
+ If running as a regular Python script, returns None.
11
+
12
+ Returns
13
+ -------
14
+ str | None
15
+ The path to the resource files if in a production environment,
16
+ otherwise None.
17
+
18
+ Examples
19
+ --------
20
+ >>> from pyloid.utils import get_production_path
21
+ >>> path = get_production_path("assets/icon.ico")
22
+ >>> if path:
23
+ >>> print(f"Production path: {path}")
24
+ >>> else:
25
+ >>> print("Not in a production environment.")
26
+ """
27
+ if is_production():
28
+ if hasattr(sys, '_MEIPASS'):
29
+ # PyInstaller
30
+ base_path = sys._MEIPASS
31
+ else:
32
+ # Nuitka
33
+ base_path = os.path.dirname(sys.executable)
34
+
35
+ if base_path is None:
36
+ # 환경변수가 없는 경우 실행 파일 디렉토리 사용
37
+ base_path = os.path.dirname(os.path.abspath(sys.argv[0]))
38
+
39
+
40
+ return os.path.join(base_path, path) if path else base_path
41
+ else:
42
+ return None
43
+
44
+
45
+ def is_production() -> bool:
46
+ """
47
+ Checks if the current environment is a production environment.
48
+
49
+ Returns
50
+ -------
51
+ bool
52
+ True if in a production environment, False otherwise.
53
+
54
+ Examples
55
+ --------
56
+ >>> from pyloid.utils import is_production
57
+ >>> if is_production():
58
+ >>> print("Running in production environment.")
59
+ >>> else:
60
+ >>> print("Not in production environment.")
61
+ """
62
+ # Nuitka 환경 확인을 추가
63
+ if '__compiled__' in globals():
64
+ return True
65
+ # PyInstaller 환경 확인
66
+ return getattr(sys, 'frozen', False)
67
+
68
+
69
+ def get_platform() -> str:
70
+ """
71
+ Returns the name of the current system's platform.
72
+
73
+ This function uses `platform.system()` to return the name of the current operating system.
74
+
75
+ Returns
76
+ -------
77
+ "windows" | "macos" | "linux"
78
+ - "windows" for Windows systems
79
+ - "macos" for macOS systems
80
+ - "linux" for Linux systems
81
+
82
+ Examples
83
+ --------
84
+ >>> from pyloid.utils import get_platform
85
+ >>> platform_name = get_platform()
86
+ >>> print(platform_name)
87
+ windows
88
+ """
89
+ os_name = platform.system().lower()
90
+ os_type = {
91
+ 'darwin': 'macos',
92
+ 'linux': 'linux',
93
+ 'windows': 'windows'
94
+ }.get(os_name)
95
+ if os_type is None:
96
+ raise ValueError(f"Unsupported platform: {os_name}")
97
+
98
+ return os_type
99
+
100
+ def get_absolute_path(path: str) -> str:
101
+ """
102
+ Returns the absolute path of the given relative path.
103
+
104
+ Parameters
105
+ ----------
106
+ path : str
107
+ The relative path to get the absolute path of.
108
+
109
+ Returns
110
+ -------
111
+ str
112
+ The absolute path of the given relative path.
113
+
114
+ Examples
115
+ --------
116
+ >>> from pyloid.utils import get_absolute_path
117
+ >>> absolute_path = get_absolute_path("assets/icon.ico")
118
+ >>> print(absolute_path)
119
+ C:/Users/aaaap/Documents/pyloid/pyloid/assets/icon.ico
120
+ """
121
+ return os.path.normpath(os.path.abspath(path))
122
+