Skip to content

Commit 6de4038

Browse files
author
Sebastian
committed
release 1.9.7.3
- new signals are now not plotted by default. This increases performance, when loading big data - Added: Auto-File-Backup - Added: Plugin - RealTime-Editor (DevicesRAW) - Two save-session modes (when overwriting sessions): - Overwrite session - Append to session (no data is lost) - PlotStyles are now saved automatically for new signals - menubar now icons - Import-Subwindow: - Import CSV, Matlab (.mat), RTOC-session, XLSX, ODF - Edit imported data and create signals from it. - Drag'n'drop files and selected tables - fixed bug with multiple plot windows (on close) - fixed linux GUI-icons - fixed some signalwidget-bugs - fixed crashed of PluginDownloader - fixed swapXY-signals - fixed elapsed time of signal in mouseover on signalbuttons Upcoming: Integration of NetWoRTOC to RTOC
1 parent 2b3cf9b commit 6de4038

File tree

115 files changed

+18238
-521
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

115 files changed

+18238
-521
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# RealTime OpenControl (RTOC)
22

3-
### Version 1.8.9
3+
### Version 1.9.7.3
44

55
[**This README is available in GERMAN here.**](misc/README_german.md)
66

@@ -83,7 +83,7 @@ plotStyles.json // Custom plotstyles for signals are stored in this file
8383
To use RTOC, the following dependencies must be installed
8484

8585
```python
86-
pip3 install numpy pyqt5 pyqtgraph markdown2 xslxwriter scipy
86+
pip3 install numpy pyqt5 pyqtgraph markdown2 xslxwriter scipy pandas ezodf
8787
```
8888

8989
The following packages should also be installed

RTOC.egg-info/PKG-INFO

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Metadata-Version: 1.2
22
Name: RTOC
3-
Version: 1.8.9
3+
Version: 1.9.7.3
44
Summary: RealTime OpenControl
55
Home-page: https://github.com/Haschtl/RealTimeOpenControl
66
Author: Sebastian Keller

RTOC.egg-info/SOURCES.txt

Lines changed: 55 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@ RTOC/LoggerPlugin.py
66
RTOC/PluginDownloader.py
77
RTOC/RTLogger.py
88
RTOC/RTOC.py
9+
RTOC/RTOC_Import.py
910
RTOC/RTOC_Web.py
1011
RTOC/__init__.py
1112
RTOC/__main__.py
12-
RTOC/csv_edit.py
1313
RTOC/jsonsocket.py
1414
RTOC/telegramBot.py
1515
RTOC/testdaten2.csv
@@ -22,6 +22,7 @@ RTOC/__pycache__/LoggerPlugin.cpython-36.pyc
2222
RTOC/__pycache__/PluginDownloader.cpython-36.pyc
2323
RTOC/__pycache__/RTLogger.cpython-36.pyc
2424
RTOC/__pycache__/RTOC.cpython-36.pyc
25+
RTOC/__pycache__/RTOC_Import.cpython-36.pyc
2526
RTOC/__pycache__/__init__.cpython-36.pyc
2627
RTOC/__pycache__/__main__.cpython-36.pyc
2728
RTOC/__pycache__/jsonsocket.cpython-36.pyc
@@ -31,6 +32,7 @@ RTOC/data/RTPlotActions.py
3132
RTOC/data/RTPlotWidget.py
3233
RTOC/data/ScriptFunctions.py
3334
RTOC/data/__init__.py
35+
RTOC/data/csvSignalWidget.py
3436
RTOC/data/define.py
3537
RTOC/data/eventWidget.py
3638
RTOC/data/icon.png
@@ -49,6 +51,7 @@ RTOC/data/__pycache__/RTPlotActions.cpython-36.pyc
4951
RTOC/data/__pycache__/RTPlotWidget.cpython-36.pyc
5052
RTOC/data/__pycache__/ScriptFunctions.cpython-36.pyc
5153
RTOC/data/__pycache__/__init__.cpython-36.pyc
54+
RTOC/data/__pycache__/csvSignalWidget.cpython-36.pyc
5255
RTOC/data/__pycache__/define.cpython-36.pyc
5356
RTOC/data/__pycache__/eventWidget.cpython-36.pyc
5457
RTOC/data/__pycache__/importCode.cpython-36.pyc
@@ -67,6 +70,8 @@ RTOC/data/lib/pyqt_customlib.py
6770
RTOC/data/lib/__pycache__/__init__.cpython-36.pyc
6871
RTOC/data/lib/__pycache__/general_lib.cpython-36.pyc
6972
RTOC/data/lib/__pycache__/pyqt_customlib.cpython-36.pyc
73+
RTOC/data/ui/csveditor.ui
74+
RTOC/data/ui/csveditor_signal.ui
7075
RTOC/data/ui/darkmode.html
7176
RTOC/data/ui/eventWidget.ui
7277
RTOC/data/ui/getPlugins.ui
@@ -87,10 +92,30 @@ RTOC/data/ui/signalWidget2.ui
8792
RTOC/data/ui/stylePlotDialog.ui
8893
RTOC/data/ui/stylePlotDialog2.ui
8994
RTOC/data/ui/triggerWidget.ui
95+
RTOC/data/ui/icons/Hmovetoolbar.png
96+
RTOC/data/ui/icons/Hsepartoolbar.png
97+
RTOC/data/ui/icons/Vmovetoolbar.png
98+
RTOC/data/ui/icons/Vsepartoolbar.png
99+
RTOC/data/ui/icons/add.png
100+
RTOC/data/ui/icons/add_column.png
101+
RTOC/data/ui/icons/add_row.png
102+
RTOC/data/ui/icons/backup.png
90103
RTOC/data/ui/icons/blinking.png
104+
RTOC/data/ui/icons/checkbox_checked.png
105+
RTOC/data/ui/icons/checkbox_checked_hovered.png
106+
RTOC/data/ui/icons/checkbox_indeterminate.png
107+
RTOC/data/ui/icons/checkbox_indeterminate_hovered.png
108+
RTOC/data/ui/icons/checkbox_unchecked.png
109+
RTOC/data/ui/icons/checkbox_unchecked_hovered.png
91110
RTOC/data/ui/icons/clear.png
111+
RTOC/data/ui/icons/close_window.png
112+
RTOC/data/ui/icons/close_window_hovered.png
92113
RTOC/data/ui/icons/crosshair.png
93114
RTOC/data/ui/icons/cut.png
115+
RTOC/data/ui/icons/delete_column.png
116+
RTOC/data/ui/icons/delete_row.png
117+
RTOC/data/ui/icons/down_arrow.png
118+
RTOC/data/ui/icons/down_arrow_disabled.png
94119
RTOC/data/ui/icons/duplicate.png
95120
RTOC/data/ui/icons/events.png
96121
RTOC/data/ui/icons/exportCSV.png
@@ -99,92 +124,57 @@ RTOC/data/ui/icons/grid.png
99124
RTOC/data/ui/icons/help.png
100125
RTOC/data/ui/icons/hohe_prioritaet.png
101126
RTOC/data/ui/icons/hohe_prioritaet_grey.png
127+
RTOC/data/ui/icons/html.png
102128
RTOC/data/ui/icons/icons8-stornieren-480.png
129+
RTOC/data/ui/icons/icons8-telegram-app.png
130+
RTOC/data/ui/icons/icons8-transfer.png
131+
RTOC/data/ui/icons/internet.png
103132
RTOC/data/ui/icons/invert.png
104133
RTOC/data/ui/icons/labels.png
134+
RTOC/data/ui/icons/left_arrow.png
135+
RTOC/data/ui/icons/left_arrow_disabled.png
105136
RTOC/data/ui/icons/legend.png
106137
RTOC/data/ui/icons/list.png
107138
RTOC/data/ui/icons/list_dark.png
139+
RTOC/data/ui/icons/maximize_window.png
140+
RTOC/data/ui/icons/maximize_window_hovered.png
108141
RTOC/data/ui/icons/measure.png
142+
RTOC/data/ui/icons/menu.png
143+
RTOC/data/ui/icons/minimize_window.png
144+
RTOC/data/ui/icons/minimize_window_hovered.png
109145
RTOC/data/ui/icons/mittlere_prioritaet.png
110146
RTOC/data/ui/icons/mittlere_prioritaet_grey.png
147+
RTOC/data/ui/icons/network.png
111148
RTOC/data/ui/icons/niedrige_prioritaet.png
112149
RTOC/data/ui/icons/niedrige_prioritaet_grey.png
113150
RTOC/data/ui/icons/open.png
151+
RTOC/data/ui/icons/open_profile.png
114152
RTOC/data/ui/icons/pause.png
153+
RTOC/data/ui/icons/plugins.png
154+
RTOC/data/ui/icons/radio_checked.png
155+
RTOC/data/ui/icons/radio_checked_hovered.png
156+
RTOC/data/ui/icons/radio_disabled.png
157+
RTOC/data/ui/icons/radio_unchecked.png
158+
RTOC/data/ui/icons/radio_unchecked_hovered.png
159+
RTOC/data/ui/icons/remove.png
115160
RTOC/data/ui/icons/rename.png
116161
RTOC/data/ui/icons/repeat.png
117162
RTOC/data/ui/icons/repeat1.png
163+
RTOC/data/ui/icons/restore_window.png
164+
RTOC/data/ui/icons/restore_window_hovered.png
165+
RTOC/data/ui/icons/right_arrow.png
166+
RTOC/data/ui/icons/right_arrow_disabled.png
167+
RTOC/data/ui/icons/sidebar.png
168+
RTOC/data/ui/icons/sizegrip.png
118169
RTOC/data/ui/icons/style.png
119170
RTOC/data/ui/icons/swap.png
171+
RTOC/data/ui/icons/up_arrow.png
172+
RTOC/data/ui/icons/up_arrow_disabled.png
173+
RTOC/data/ui/icons/view.png
120174
RTOC/data/ui/icons/x.png
121175
RTOC/data/ui/icons/xaxislabel.png
122176
RTOC/data/ui/icons/xtimebase.png
123177
RTOC/data/ui/icons/y.png
124-
RTOC/data/ui/icons/dark/Hmovetoolbar.png
125-
RTOC/data/ui/icons/dark/Hsepartoolbar.png
126-
RTOC/data/ui/icons/dark/Vmovetoolbar.png
127-
RTOC/data/ui/icons/dark/Vsepartoolbar.png
128-
RTOC/data/ui/icons/dark/add.png
129-
RTOC/data/ui/icons/dark/add_element.png
130-
RTOC/data/ui/icons/dark/add_element_hovered.png
131-
RTOC/data/ui/icons/dark/add_hovered.png
132-
RTOC/data/ui/icons/dark/add_new.png
133-
RTOC/data/ui/icons/dark/add_new_hovered.png
134-
RTOC/data/ui/icons/dark/checkbox_checked.png
135-
RTOC/data/ui/icons/dark/checkbox_checked_hovered.png
136-
RTOC/data/ui/icons/dark/checkbox_indeterminate.png
137-
RTOC/data/ui/icons/dark/checkbox_indeterminate_hovered.png
138-
RTOC/data/ui/icons/dark/checkbox_unchecked.png
139-
RTOC/data/ui/icons/dark/checkbox_unchecked_hovered.png
140-
RTOC/data/ui/icons/dark/close_window.png
141-
RTOC/data/ui/icons/dark/close_window_hovered.png
142-
RTOC/data/ui/icons/dark/delete_profile.png
143-
RTOC/data/ui/icons/dark/delete_profile_hovered.png
144-
RTOC/data/ui/icons/dark/down_arrow.png
145-
RTOC/data/ui/icons/dark/down_arrow_disabled.png
146-
RTOC/data/ui/icons/dark/download.png
147-
RTOC/data/ui/icons/dark/edit.png
148-
RTOC/data/ui/icons/dark/edit_hovered.png
149-
RTOC/data/ui/icons/dark/file.png
150-
RTOC/data/ui/icons/dark/file_hovered.png
151-
RTOC/data/ui/icons/dark/filter.png
152-
RTOC/data/ui/icons/dark/filter_hovered.png
153-
RTOC/data/ui/icons/dark/image.png
154-
RTOC/data/ui/icons/dark/image_hovered.png
155-
RTOC/data/ui/icons/dark/left_arrow.png
156-
RTOC/data/ui/icons/dark/left_arrow_disabled.png
157-
RTOC/data/ui/icons/dark/maximize_window.png
158-
RTOC/data/ui/icons/dark/maximize_window_hovered.png
159-
RTOC/data/ui/icons/dark/menu.png
160-
RTOC/data/ui/icons/dark/menu_hovered.png
161-
RTOC/data/ui/icons/dark/merge.png
162-
RTOC/data/ui/icons/dark/merge_hovered.png
163-
RTOC/data/ui/icons/dark/minimize_window.png
164-
RTOC/data/ui/icons/dark/minimize_window_hovered.png
165-
RTOC/data/ui/icons/dark/radio_checked.png
166-
RTOC/data/ui/icons/dark/radio_checked_hovered.png
167-
RTOC/data/ui/icons/dark/radio_disabled.png
168-
RTOC/data/ui/icons/dark/radio_unchecked.png
169-
RTOC/data/ui/icons/dark/radio_unchecked_hovered.png
170-
RTOC/data/ui/icons/dark/remove_element.png
171-
RTOC/data/ui/icons/dark/remove_element_hovered.png
172-
RTOC/data/ui/icons/dark/restore_window.png
173-
RTOC/data/ui/icons/dark/restore_window_hovered.png
174-
RTOC/data/ui/icons/dark/right_arrow.png
175-
RTOC/data/ui/icons/dark/right_arrow_disabled.png
176-
RTOC/data/ui/icons/dark/save.png
177-
RTOC/data/ui/icons/dark/save_hovered.png
178-
RTOC/data/ui/icons/dark/sizegrip.png
179-
RTOC/data/ui/icons/dark/source.png
180-
RTOC/data/ui/icons/dark/source_hovered.png
181-
RTOC/data/ui/icons/dark/submitElement.png
182-
RTOC/data/ui/icons/dark/submitElement_hovered.png
183-
RTOC/data/ui/icons/dark/undo.png
184-
RTOC/data/ui/icons/dark/undo_hovered.png
185-
RTOC/data/ui/icons/dark/undock.png
186-
RTOC/data/ui/icons/dark/up_arrow.png
187-
RTOC/data/ui/icons/dark/up_arrow_disabled.png
188178
RTOC/lang/en_en.qm
189179
RTOC/lang/en_en.ts
190180
RTOC/lang/en_en_old.ts

RTOC.egg-info/requires.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,5 @@ python-nmap
1111
bokeh
1212
pycryptodomex
1313
pyGithub
14+
pandas
15+
ezodf

RTOC/PluginDownloader.py

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import json
1111
import traceback
1212
import markdown2
13+
import urllib.request
1314
#import urllib.request
1415
# import requests
1516
import base64
@@ -77,9 +78,13 @@ def loadLocalPlugins(self, userpath):
7778
for plug in self.localPlugins.keys():
7879
#localPluginInfos
7980
if os.path.exists(self.localPlugins[plug]+"/info.json"):
80-
with open(self.localPlugins[plug]+"/info.json") as f:
81-
data = json.load(f)
82-
self.localPluginInfos[plug] = data
81+
try:
82+
with open(self.localPlugins[plug]+"/info.json") as f:
83+
data = json.load(f)
84+
self.localPluginInfos[plug] = data
85+
except:
86+
print('Error loading local plugin info: '+str(plug))
87+
self.localPluginInfos[plug] = ''
8388
else:
8489
print('Plugin '+plug+' was not installed from any repository')
8590
self.localPluginInfos[plug] = False
@@ -113,7 +118,7 @@ def loadPlugin(self, strung):
113118
self.uptodate = False
114119
try:
115120
info = self.pluginInfos[strung]
116-
print(strung)
121+
#print(strung)
117122
strung = "#"+strung+"\n\n"
118123
strung += "### Version: "+info['version']
119124
if self.currentname in self.localPluginInfos.keys():
@@ -202,11 +207,16 @@ def download_directory(self, server_path):
202207
elif '__pycache__' not in content.path:
203208
try:
204209
path = content.path
205-
file_content = self.repo.get_contents(path)
206-
file_data = base64.b64decode(file_content.content)
207-
file_out = open(self.userpath+"/devices/"+content.path, "w")
208-
file_out.write(file_data.decode('utf-8'))
209-
file_out.close()
210+
# file_content = self.repo.get_contents(path)
211+
# file_data = base64.b64decode(file_content.content)
212+
# file_out = open(self.userpath+"/devices/"+content.path, "w")
213+
# try:
214+
# file_out.write(file_data.decode('utf-8'))
215+
# except:
216+
# file_out.write(file_data)
217+
# file_out.close()
218+
url = content.download_url
219+
urllib.request.urlretrieve (url, self.userpath+"/devices/"+path)
210220
except IOError as exc:
211221
print('Error processing %s: %s', content.path, exc)
212222

0 commit comments

Comments
 (0)