From b77f13832fb910e3ea19d82abb59a8c8a33dba16 Mon Sep 17 00:00:00 2001
From: Lizzzka007 <gashchuk2011@mail.ru>
Date: Wed, 6 Dec 2023 01:49:16 +0300
Subject: [PATCH] Fix dump for dsq

---
 plotter/Plotter.py  |  2 +-
 plotter/ProcData.py | 19 ++++++++++++++++++-
 2 files changed, 19 insertions(+), 2 deletions(-)

diff --git a/plotter/Plotter.py b/plotter/Plotter.py
index 96a2a21..d8effa1 100755
--- a/plotter/Plotter.py
+++ b/plotter/Plotter.py
@@ -404,7 +404,7 @@ class Plotter:
 
     def __dump(self):
         for variable_name in self.file_column_names:
-            print(variable_name, end=' ')
+            print(variable_name, end='; ')
         print('\n')
 
     def __plot_diff(self):
diff --git a/plotter/ProcData.py b/plotter/ProcData.py
index e67f9fb..e3183eb 100755
--- a/plotter/ProcData.py
+++ b/plotter/ProcData.py
@@ -82,6 +82,21 @@ class ProcData:
                     
         self.variable_names += varnames
         self.variable_names = np.array(self.variable_names, dtype=object)
+
+    def __get_variable_names_dsq(self):
+        STIRNG_TERMINATOR = '\x00'
+        INT_LEN = 4
+        TIME_VAR_NUM = 0
+
+        f = open(self.filename, 'rb')
+
+        nvars = int.from_bytes(f.read(INT_LEN), byteorder='little')
+        names_len = int.from_bytes(f.read(INT_LEN), byteorder='little') + len(STIRNG_TERMINATOR)
+
+        self.variable_names = []
+        self.variable_names.append('time')
+        for _ in range(nvars):
+            self.variable_names.append(str(f.read(names_len), encoding='utf-8').strip(STIRNG_TERMINATOR))
     
     def __read_plt(self, ndim):
         with open(self.filename, "r") as file:
@@ -313,4 +328,6 @@ class ProcData:
         if filename_extension == '.plt':
             self.__get_variable_names_plt()
         elif filename_extension == '.nsx':
-            self.__get_variable_names_bin()
\ No newline at end of file
+            self.__get_variable_names_bin()
+        elif filename_extension == '.dsq':
+            self.__get_variable_names_dsq()
\ No newline at end of file
-- 
GitLab