BonPrinter
v1.2.0
Thermal Printer tool
Loading...
Searching...
No Matches
open_notepad.py
Go to the documentation of this file.
1
"""!
2
********************************************************************************
3
@file open_notepad.py
4
@brief open notepad file in thread to prevent freeze of window
5
********************************************************************************
6
"""
7
8
import
os
9
import
enum
10
import
subprocess
11
import
logging
12
from
typing
import
Callable, Any
13
14
from
Source.version
import
__title__
15
from
Source.Util.gui_toolkit
import
SIGNAL, THREAD, emit_signal, connect_signal, disconnect_signal
16
17
log = logging.getLogger(__title__)
18
19
20
class
ENotepadSelection
(str, enum.Enum):
21
"""!
22
@brief File selection to open notepad.
23
"""
24
USER =
"User"
25
ARTICLES =
"Articles"
26
STATUS =
"Status"
27
REPORT =
"Report"
28
UNKNOWN =
"Unknown"
29
30
31
class
OpenNotepadWorker
(THREAD):
32
"""!
33
@brief Open Notepad Worker.
34
"""
35
notepad_signal = SIGNAL()
36
37
def
__init__
(self) -> None:
38
super().
__init__
()
39
self.
s_file
=
""
40
self.
e_selection
= ENotepadSelection.UNKNOWN
41
self.
signal_is_connected
=
False
42
43
def
open_report_file
(self, s_file_name_path: str, e_selection: ENotepadSelection, callback: Callable[[], Any]) ->
None
:
44
"""!
45
@brief Open report file. Set data to open and start open thread
46
@param s_file_name_path : file to open
47
@param e_selection : Status of file to open
48
@param callback : callback for connected signal
49
"""
50
self.
s_file
= s_file_name_path
51
self.
e_selection
= e_selection
52
self.start()
# function "run" is called by thread
53
if
self.
signal_is_connected
:
54
disconnect_signal(self.
notepad_signal
)
# disconnect old signal
55
connect_signal(self.
notepad_signal
, callback)
56
self.
signal_is_connected
=
True
57
58
def
run
(self) -> None:
59
"""!
60
@brief Open file in Notepad.
61
"""
62
with
subprocess.Popen([
"notepad.exe"
, self.
s_file
]):
63
pass
64
if
self.
e_selection
== ENotepadSelection.STATUS:
65
os.remove(self.
s_file
)
66
emit_signal(self.
notepad_signal
)
Source.Worker.open_notepad.ENotepadSelection
File selection to open notepad.
Definition
open_notepad.py:20
Source.Worker.open_notepad.OpenNotepadWorker
Open Notepad Worker.
Definition
open_notepad.py:31
Source.Worker.open_notepad.OpenNotepadWorker.s_file
str s_file
Definition
open_notepad.py:39
Source.Worker.open_notepad.OpenNotepadWorker.open_report_file
None open_report_file(self, str s_file_name_path, ENotepadSelection e_selection, Callable[[], Any] callback)
Open report file.
Definition
open_notepad.py:43
Source.Worker.open_notepad.OpenNotepadWorker.run
None run(self)
Open file in Notepad.
Definition
open_notepad.py:58
Source.Worker.open_notepad.OpenNotepadWorker.e_selection
e_selection
Definition
open_notepad.py:40
Source.Worker.open_notepad.OpenNotepadWorker.__init__
None __init__(self)
Definition
open_notepad.py:37
Source.Worker.open_notepad.OpenNotepadWorker.notepad_signal
notepad_signal
Definition
open_notepad.py:35
Source.Worker.open_notepad.OpenNotepadWorker.signal_is_connected
bool signal_is_connected
Definition
open_notepad.py:41
Source.Util.gui_toolkit
Definition
gui_toolkit.py:1
Source.version
Definition
version.py:1
Source
Worker
open_notepad.py
Generated on
for BonPrinter by
1.14.0