lyrpy 2025.0.1__py3-none-any.whl → 2025.0.2__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.
Potentially problematic release.
This version of lyrpy might be problematic. Click here for more details.
- SRC/LIB/__init__.py +21 -0
- SRC/lyrpy/LUConsole.py +402 -0
- SRC/lyrpy/LUConst.py +358 -0
- SRC/lyrpy/LUDateTime.py +205 -0
- SRC/lyrpy/LUDecotators.py +417 -0
- SRC/lyrpy/LUDict.py +116 -0
- SRC/lyrpy/LUDoc.py +62 -0
- SRC/lyrpy/LUErrors.py +79 -0
- SRC/lyrpy/LUFile.py +1228 -0
- SRC/lyrpy/LUFileUtils.py +501 -0
- SRC/lyrpy/LULog.py +2324 -0
- SRC/lyrpy/LUNetwork.py +277 -0
- SRC/lyrpy/LUNumUtils.py +305 -0
- SRC/lyrpy/LUObjects.py +208 -0
- SRC/lyrpy/LUObjectsYT.py +846 -0
- SRC/lyrpy/LUParserARG.py +364 -0
- SRC/lyrpy/LUParserINI.py +376 -0
- SRC/lyrpy/LUParserREG.py +514 -0
- SRC/lyrpy/LUProc.py +110 -0
- SRC/lyrpy/LUQThread.py +141 -0
- SRC/lyrpy/LUQTimer.py +197 -0
- SRC/lyrpy/LUSheduler.py +941 -0
- SRC/lyrpy/LUStrDecode.py +223 -0
- SRC/lyrpy/LUStrUtils.py +633 -0
- SRC/lyrpy/LUSupport.py +124 -0
- SRC/lyrpy/LUTelegram.py +428 -0
- SRC/lyrpy/LUThread.py +177 -0
- SRC/lyrpy/LUTimer.py +141 -0
- SRC/lyrpy/LUVersion.py +383 -0
- SRC/lyrpy/LUYouTube.py +203 -0
- SRC/lyrpy/LUos.py +807 -0
- SRC/lyrpy/LUsys.py +47 -0
- SRC/lyrpy/__init__.py +21 -0
- SRC/lyrpy/__main__.py +20 -0
- __SRC/LIB/__init__.py +0 -0
- __SRC/LIB/lyrpy/LUConsole.py +402 -0
- __SRC/LIB/lyrpy/LUConst.py +358 -0
- __SRC/LIB/lyrpy/LUDateTime.py +205 -0
- __SRC/LIB/lyrpy/LUDecotators.py +417 -0
- __SRC/LIB/lyrpy/LUDict.py +116 -0
- __SRC/LIB/lyrpy/LUDoc.py +62 -0
- __SRC/LIB/lyrpy/LUErrors.py +79 -0
- __SRC/LIB/lyrpy/LUFile.py +1228 -0
- __SRC/LIB/lyrpy/LUFileUtils.py +501 -0
- __SRC/LIB/lyrpy/LULog.py +2324 -0
- __SRC/LIB/lyrpy/LUNetwork.py +277 -0
- __SRC/LIB/lyrpy/LUNumUtils.py +305 -0
- __SRC/LIB/lyrpy/LUObjects.py +208 -0
- __SRC/LIB/lyrpy/LUObjectsYT.py +846 -0
- __SRC/LIB/lyrpy/LUParserARG.py +364 -0
- __SRC/LIB/lyrpy/LUParserINI.py +376 -0
- __SRC/LIB/lyrpy/LUParserREG.py +514 -0
- __SRC/LIB/lyrpy/LUProc.py +110 -0
- __SRC/LIB/lyrpy/LUQThread.py +141 -0
- __SRC/LIB/lyrpy/LUQTimer.py +197 -0
- __SRC/LIB/lyrpy/LUSheduler.py +941 -0
- __SRC/LIB/lyrpy/LUStrDecode.py +223 -0
- __SRC/LIB/lyrpy/LUStrUtils.py +633 -0
- __SRC/LIB/lyrpy/LUSupport.py +124 -0
- __SRC/LIB/lyrpy/LUTelegram.py +428 -0
- __SRC/LIB/lyrpy/LUThread.py +177 -0
- __SRC/LIB/lyrpy/LUTimer.py +141 -0
- __SRC/LIB/lyrpy/LUVersion.py +383 -0
- __SRC/LIB/lyrpy/LUYouTube.py +203 -0
- __SRC/LIB/lyrpy/LUos.py +807 -0
- __SRC/LIB/lyrpy/LUsys.py +47 -0
- __SRC/LIB/lyrpy/__init__.py +21 -0
- __SRC/LIB/lyrpy/__main__.py +20 -0
- __SRC/__init__.py +0 -0
- ____src/__init__.py +0 -0
- ____src/lyrpy/LUConsole.py +402 -0
- ____src/lyrpy/LUConst.py +358 -0
- ____src/lyrpy/LUDateTime.py +205 -0
- ____src/lyrpy/LUDecotators.py +417 -0
- ____src/lyrpy/LUDict.py +116 -0
- ____src/lyrpy/LUDoc.py +62 -0
- ____src/lyrpy/LUErrors.py +79 -0
- ____src/lyrpy/LUFile.py +1228 -0
- ____src/lyrpy/LUFileUtils.py +501 -0
- ____src/lyrpy/LULog.py +2324 -0
- ____src/lyrpy/LUNetwork.py +277 -0
- ____src/lyrpy/LUNumUtils.py +305 -0
- ____src/lyrpy/LUObjects.py +208 -0
- ____src/lyrpy/LUObjectsYT.py +846 -0
- ____src/lyrpy/LUParserARG.py +364 -0
- ____src/lyrpy/LUParserINI.py +376 -0
- ____src/lyrpy/LUParserREG.py +514 -0
- ____src/lyrpy/LUProc.py +110 -0
- ____src/lyrpy/LUQThread.py +141 -0
- ____src/lyrpy/LUQTimer.py +197 -0
- ____src/lyrpy/LUSheduler.py +941 -0
- ____src/lyrpy/LUStrDecode.py +223 -0
- ____src/lyrpy/LUStrUtils.py +633 -0
- ____src/lyrpy/LUSupport.py +124 -0
- ____src/lyrpy/LUTelegram.py +428 -0
- ____src/lyrpy/LUThread.py +177 -0
- ____src/lyrpy/LUTimer.py +141 -0
- ____src/lyrpy/LUVersion.py +383 -0
- ____src/lyrpy/LUYouTube.py +203 -0
- ____src/lyrpy/LUos.py +807 -0
- ____src/lyrpy/LUsys.py +47 -0
- ____src/lyrpy/__init__.py +21 -0
- ____src/lyrpy/__main__.py +20 -0
- {lyrpy-2025.0.1.dist-info → lyrpy-2025.0.2.dist-info}/METADATA +1 -1
- lyrpy-2025.0.2.dist-info/RECORD +145 -0
- lyrpy-2025.0.1.dist-info/RECORD +0 -43
- {lyrpy-2025.0.1.dist-info → lyrpy-2025.0.2.dist-info}/WHEEL +0 -0
- {lyrpy-2025.0.1.dist-info → lyrpy-2025.0.2.dist-info}/licenses/LICENSE +0 -0
- {lyrpy-2025.0.1.dist-info → lyrpy-2025.0.2.dist-info}/top_level.txt +0 -0
SRC/lyrpy/LUQThread.py
ADDED
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
"""LUQThread.py"""
|
|
2
|
+
# -*- coding: UTF-8 -*-
|
|
3
|
+
__annotations__ = """
|
|
4
|
+
=======================================================
|
|
5
|
+
Copyright (c) 2023
|
|
6
|
+
Author:
|
|
7
|
+
Lisitsin Y.R.
|
|
8
|
+
Project:
|
|
9
|
+
LU_PY
|
|
10
|
+
Python (LU)
|
|
11
|
+
Module:
|
|
12
|
+
LUQThread.py
|
|
13
|
+
|
|
14
|
+
=======================================================
|
|
15
|
+
"""
|
|
16
|
+
|
|
17
|
+
import logging
|
|
18
|
+
|
|
19
|
+
#------------------------------------------
|
|
20
|
+
# БИБЛИОТЕКИ python
|
|
21
|
+
#------------------------------------------
|
|
22
|
+
import psutil
|
|
23
|
+
|
|
24
|
+
#------------------------------------------
|
|
25
|
+
# БИБЛИОТЕКИ сторонние
|
|
26
|
+
#------------------------------------------
|
|
27
|
+
import PySide6.QtCore as QtCore
|
|
28
|
+
from PySide6.QtCore import QObject, QThread, Signal, Slot
|
|
29
|
+
|
|
30
|
+
#------------------------------------------
|
|
31
|
+
# БИБЛИОТЕКА LU
|
|
32
|
+
#------------------------------------------
|
|
33
|
+
import lyrpy.LULog as LULog
|
|
34
|
+
|
|
35
|
+
# Signals must inherit QObject
|
|
36
|
+
class MySignals(QObject):
|
|
37
|
+
signal_str = Signal(str)
|
|
38
|
+
signal_int = Signal(int)
|
|
39
|
+
#endclass
|
|
40
|
+
|
|
41
|
+
# Create the Worker Thread
|
|
42
|
+
class TQThread (QThread):
|
|
43
|
+
"""TQThread"""
|
|
44
|
+
luClassName = 'TQThread'
|
|
45
|
+
|
|
46
|
+
#--------------------------------------------------
|
|
47
|
+
# constructor
|
|
48
|
+
#--------------------------------------------------
|
|
49
|
+
def __init__ (self, parent = None):
|
|
50
|
+
#beginfunction
|
|
51
|
+
QThread.__init__ (self, parent = parent)
|
|
52
|
+
# super ().__init__ (*args, **kwargs)
|
|
53
|
+
# self.args = args
|
|
54
|
+
# self.kwargs = kwargs
|
|
55
|
+
|
|
56
|
+
self.__FStopThread = False
|
|
57
|
+
|
|
58
|
+
# Instantiate signals and connect signals to the slots
|
|
59
|
+
self.signals = MySignals ()
|
|
60
|
+
self.signals.signal_str.connect (parent.update_str_field)
|
|
61
|
+
self.signals.signal_int.connect (parent.update_int_field)
|
|
62
|
+
|
|
63
|
+
#endfunction
|
|
64
|
+
|
|
65
|
+
#--------------------------------------------------
|
|
66
|
+
# destructor
|
|
67
|
+
#--------------------------------------------------
|
|
68
|
+
def __del__ (self):
|
|
69
|
+
"""destructor"""
|
|
70
|
+
#beginfunction
|
|
71
|
+
LClassName = self.__class__.__name__
|
|
72
|
+
# s = '{} уничтожен'.format (LClassName)
|
|
73
|
+
# LULog.LoggerTOOLS_AddLevel (LULog.DEBUGTEXT, s)
|
|
74
|
+
#print (s)
|
|
75
|
+
#endfunction
|
|
76
|
+
|
|
77
|
+
#--------------------------------------------------
|
|
78
|
+
# @property QThread
|
|
79
|
+
#--------------------------------------------------
|
|
80
|
+
# getter
|
|
81
|
+
@property
|
|
82
|
+
def QThread(self) -> QThread:
|
|
83
|
+
#beginfunction
|
|
84
|
+
return self
|
|
85
|
+
#endfunction
|
|
86
|
+
|
|
87
|
+
#--------------------------------------------------
|
|
88
|
+
# run
|
|
89
|
+
#--------------------------------------------------
|
|
90
|
+
def run(self):
|
|
91
|
+
"""Запуск потока"""
|
|
92
|
+
#beginfunction
|
|
93
|
+
super ().run()
|
|
94
|
+
s = 'run - Запуск потока...'
|
|
95
|
+
LULog.LoggerAdd (LULog.LoggerTOOLS, logging.DEBUG, s)
|
|
96
|
+
|
|
97
|
+
# Do something on the worker thread
|
|
98
|
+
a = 1 + 1
|
|
99
|
+
# Emit signals whenever you want
|
|
100
|
+
self.signals.signal_int.emit (a)
|
|
101
|
+
self.signals.signal_str.emit ("This text comes to Main thread from our Worker thread.")
|
|
102
|
+
|
|
103
|
+
while not self.__FStopThread:
|
|
104
|
+
# s = 'Выполнение потока...'
|
|
105
|
+
# LULog.LoggerTOOLS_AddDebug (s)
|
|
106
|
+
Lval = psutil.cpu_percent ()
|
|
107
|
+
self.emit(QtCore.SIGNAL('CPU_VALUE'), Lval)
|
|
108
|
+
continue
|
|
109
|
+
#endwhile
|
|
110
|
+
|
|
111
|
+
# # Do something on the worker thread
|
|
112
|
+
# a = 1 + 1
|
|
113
|
+
# # Emit signals whenever you want
|
|
114
|
+
# self.signals.signal_int.emit (a)
|
|
115
|
+
# self.signals.signal_str.emit ("This text comes to Main thread from our Worker thread.")
|
|
116
|
+
# while 1:
|
|
117
|
+
# Lval = psutil.cpu_percent ()
|
|
118
|
+
# # self.emit(QtCore.SIGNAL('CPU_VALUE'), Lval)
|
|
119
|
+
# ...
|
|
120
|
+
# #endwhile
|
|
121
|
+
|
|
122
|
+
#endfunction
|
|
123
|
+
#endclass
|
|
124
|
+
|
|
125
|
+
#---------------------------------------------------------
|
|
126
|
+
# main
|
|
127
|
+
#---------------------------------------------------------
|
|
128
|
+
def main ():
|
|
129
|
+
#beginfunction
|
|
130
|
+
...
|
|
131
|
+
#endfunction
|
|
132
|
+
|
|
133
|
+
#---------------------------------------------------------
|
|
134
|
+
#
|
|
135
|
+
#---------------------------------------------------------
|
|
136
|
+
#beginmodule
|
|
137
|
+
if __name__ == "__main__":
|
|
138
|
+
main()
|
|
139
|
+
#endif
|
|
140
|
+
|
|
141
|
+
#endmodule
|
SRC/lyrpy/LUQTimer.py
ADDED
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
"""LUQTimer.py"""
|
|
2
|
+
# -*- coding: UTF-8 -*-
|
|
3
|
+
__annotations__ = """
|
|
4
|
+
=======================================================
|
|
5
|
+
Copyright (c) 2023-2024
|
|
6
|
+
Author:
|
|
7
|
+
Lisitsin Y.R.
|
|
8
|
+
Project:
|
|
9
|
+
LU_PY
|
|
10
|
+
Python (LU)
|
|
11
|
+
Module:
|
|
12
|
+
LUQTimer.py
|
|
13
|
+
|
|
14
|
+
=======================================================
|
|
15
|
+
"""
|
|
16
|
+
|
|
17
|
+
#------------------------------------------
|
|
18
|
+
# БИБЛИОТЕКИ python
|
|
19
|
+
#------------------------------------------
|
|
20
|
+
|
|
21
|
+
#------------------------------------------
|
|
22
|
+
# БИБЛИОТЕКИ сторонние
|
|
23
|
+
#------------------------------------------
|
|
24
|
+
from PySide6 import QtCore
|
|
25
|
+
|
|
26
|
+
from PySide6.QtCore import (
|
|
27
|
+
QObject, QThread, Signal, Slot, QTimer, QCoreApplication,
|
|
28
|
+
QEventLoop, QTime, QTimer, Slot
|
|
29
|
+
)
|
|
30
|
+
from PySide6.QtWidgets import (
|
|
31
|
+
QApplication, QPushButton, QVBoxLayout, QWidget,
|
|
32
|
+
QLCDNumber
|
|
33
|
+
)
|
|
34
|
+
|
|
35
|
+
#------------------------------------------
|
|
36
|
+
# БИБЛИОТЕКА LU
|
|
37
|
+
#------------------------------------------
|
|
38
|
+
import lyrpy.LULog as LULog
|
|
39
|
+
|
|
40
|
+
# blocking.py
|
|
41
|
+
def wait(milliseconds, /):
|
|
42
|
+
timer = QTimer()
|
|
43
|
+
timer.start(milliseconds)
|
|
44
|
+
wait_for_event(timer.timeout)
|
|
45
|
+
def wait_for_event(event, /):
|
|
46
|
+
loop = QEventLoop()
|
|
47
|
+
event.connect(loop.quit)
|
|
48
|
+
loop.exec()
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
# Signals must inherit QObject
|
|
52
|
+
class MySignals(QObject):
|
|
53
|
+
signal_str = Signal(str)
|
|
54
|
+
signal_int = Signal(int)
|
|
55
|
+
#endclass
|
|
56
|
+
|
|
57
|
+
class TQTimer (QTimer):
|
|
58
|
+
"""TQTimer"""
|
|
59
|
+
luClassName = 'TQTimer'
|
|
60
|
+
|
|
61
|
+
signals = MySignals ()
|
|
62
|
+
|
|
63
|
+
#--------------------------------------------------
|
|
64
|
+
# constructor
|
|
65
|
+
#--------------------------------------------------
|
|
66
|
+
def __init__ (self, parent=None):
|
|
67
|
+
#beginfunction
|
|
68
|
+
QTimer.__init__ (self, parent=parent)
|
|
69
|
+
self.__FStopTimer = False
|
|
70
|
+
self.__Fidle = False
|
|
71
|
+
self.__Fparent = parent
|
|
72
|
+
|
|
73
|
+
self.FQTimerName: str = ''
|
|
74
|
+
|
|
75
|
+
self.interval = 1
|
|
76
|
+
# self.setInterval (1)
|
|
77
|
+
|
|
78
|
+
self.signals.signal_str.connect (parent.update_str_field)
|
|
79
|
+
self.signals.signal_int.connect (parent.update_int_field)
|
|
80
|
+
|
|
81
|
+
# self.timeout.connect (self.run_CPU)
|
|
82
|
+
#endfunction
|
|
83
|
+
|
|
84
|
+
#--------------------------------------------------
|
|
85
|
+
# destructor
|
|
86
|
+
#--------------------------------------------------
|
|
87
|
+
def __del__ (self):
|
|
88
|
+
"""destructor"""
|
|
89
|
+
#beginfunction
|
|
90
|
+
LClassName = self.__class__.__name__
|
|
91
|
+
# s = '{} уничтожен'.format (LClassName)
|
|
92
|
+
# LULog.LoggerTOOLS_AddLevel (LULog.DEBUGTEXT, s)
|
|
93
|
+
#print (s)
|
|
94
|
+
#endfunction
|
|
95
|
+
|
|
96
|
+
#--------------------------------------------------
|
|
97
|
+
# @property QTimer
|
|
98
|
+
#--------------------------------------------------
|
|
99
|
+
# getter
|
|
100
|
+
@property
|
|
101
|
+
def QTimer(self) -> QTimer:
|
|
102
|
+
#beginfunction
|
|
103
|
+
return self
|
|
104
|
+
#endfunction
|
|
105
|
+
|
|
106
|
+
#--------------------------------------------------
|
|
107
|
+
# start
|
|
108
|
+
#--------------------------------------------------
|
|
109
|
+
def start(self):
|
|
110
|
+
"""start - Запуск таймера..."""
|
|
111
|
+
#beginfunction
|
|
112
|
+
s = 'Запуск таймера '+self.FQTimerName+'...'
|
|
113
|
+
LULog.LoggerAdd (LULog.LoggerTOOLS, LULog.DEBUGTEXT, s)
|
|
114
|
+
super ().start ()
|
|
115
|
+
self.__Fidle = True
|
|
116
|
+
#endfunction
|
|
117
|
+
|
|
118
|
+
#--------------------------------------------------
|
|
119
|
+
# stop
|
|
120
|
+
#--------------------------------------------------
|
|
121
|
+
def stop(self):
|
|
122
|
+
"""stop - Остановить таймер..."""
|
|
123
|
+
#beginfunction
|
|
124
|
+
s = 'Остановка таймера '+self.FQTimerName+'...'
|
|
125
|
+
LULog.LoggerAdd (LULog.LoggerTOOLS, LULog.DEBUGTEXT, s)
|
|
126
|
+
super ().stop ()
|
|
127
|
+
#endfunction
|
|
128
|
+
|
|
129
|
+
#--------------------------------------------------
|
|
130
|
+
# __run_TEST
|
|
131
|
+
#--------------------------------------------------
|
|
132
|
+
@QtCore.Slot (str, name = '__run_TEST')
|
|
133
|
+
def __run_TEST(self):
|
|
134
|
+
"""__run_TEST..."""
|
|
135
|
+
#beginfunction
|
|
136
|
+
# s = '__run_TEST...'
|
|
137
|
+
# LULog.LoggerTOOLS_AddDebug (s)
|
|
138
|
+
|
|
139
|
+
# Do something on the worker thread
|
|
140
|
+
|
|
141
|
+
# Emit signals whenever you want
|
|
142
|
+
a = 1 + 1
|
|
143
|
+
self.signals.signal_int.emit (a)
|
|
144
|
+
self.signals.signal_str.emit ("This text comes to Main thread from our Worker thread.")
|
|
145
|
+
|
|
146
|
+
# while self.__Fidle:
|
|
147
|
+
# QCoreApplication.processEvents ()
|
|
148
|
+
# #endwhile
|
|
149
|
+
|
|
150
|
+
QCoreApplication.processEvents ()
|
|
151
|
+
#endfunction
|
|
152
|
+
#endclass
|
|
153
|
+
|
|
154
|
+
class DigitalClock(QLCDNumber):
|
|
155
|
+
def __init__(self, parent=None):
|
|
156
|
+
super().__init__(parent)
|
|
157
|
+
self.setSegmentStyle(QLCDNumber.Filled)
|
|
158
|
+
self.setDigitCount(8)
|
|
159
|
+
|
|
160
|
+
self.timer = QTimer(self)
|
|
161
|
+
self.timer.timeout.connect(self.show_time)
|
|
162
|
+
self.timer.start(1000)
|
|
163
|
+
|
|
164
|
+
self.show_time()
|
|
165
|
+
|
|
166
|
+
self.setWindowTitle("Digital Clock")
|
|
167
|
+
self.resize(250, 60)
|
|
168
|
+
|
|
169
|
+
@Slot (str, name = 'show_time')
|
|
170
|
+
def show_time(self):
|
|
171
|
+
time = QTime.currentTime()
|
|
172
|
+
text = time.toString("hh:mm:ss")
|
|
173
|
+
|
|
174
|
+
# Blinking effect
|
|
175
|
+
if (time.second() % 2) == 0:
|
|
176
|
+
text = text.replace(":", " ")
|
|
177
|
+
|
|
178
|
+
self.display(text)
|
|
179
|
+
#endclass
|
|
180
|
+
|
|
181
|
+
#---------------------------------------------------------
|
|
182
|
+
# main
|
|
183
|
+
#---------------------------------------------------------
|
|
184
|
+
def main ():
|
|
185
|
+
#beginfunction
|
|
186
|
+
...
|
|
187
|
+
#endfunction
|
|
188
|
+
|
|
189
|
+
#---------------------------------------------------------
|
|
190
|
+
#
|
|
191
|
+
#---------------------------------------------------------
|
|
192
|
+
#beginmodule
|
|
193
|
+
if __name__ == "__main__":
|
|
194
|
+
main()
|
|
195
|
+
#endif
|
|
196
|
+
|
|
197
|
+
#endmodule
|