seabirdfilehandler 0.7.0__tar.gz → 0.7.2__tar.gz
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 seabirdfilehandler might be problematic. Click here for more details.
- {seabirdfilehandler-0.7.0 → seabirdfilehandler-0.7.2}/PKG-INFO +1 -1
- {seabirdfilehandler-0.7.0 → seabirdfilehandler-0.7.2}/pyproject.toml +1 -1
- {seabirdfilehandler-0.7.0 → seabirdfilehandler-0.7.2}/src/seabirdfilehandler/cnvfile.py +13 -14
- {seabirdfilehandler-0.7.0 → seabirdfilehandler-0.7.2}/src/seabirdfilehandler/file_collection.py +1 -1
- {seabirdfilehandler-0.7.0 → seabirdfilehandler-0.7.2}/src/seabirdfilehandler/parameter.py +37 -4
- {seabirdfilehandler-0.7.0 → seabirdfilehandler-0.7.2}/src/seabirdfilehandler/processing_steps.py +35 -0
- {seabirdfilehandler-0.7.0 → seabirdfilehandler-0.7.2}/LICENSE +0 -0
- {seabirdfilehandler-0.7.0 → seabirdfilehandler-0.7.2}/README.md +0 -0
- {seabirdfilehandler-0.7.0 → seabirdfilehandler-0.7.2}/src/seabirdfilehandler/__init__.py +0 -0
- {seabirdfilehandler-0.7.0 → seabirdfilehandler-0.7.2}/src/seabirdfilehandler/bottlefile.py +0 -0
- {seabirdfilehandler-0.7.0 → seabirdfilehandler-0.7.2}/src/seabirdfilehandler/bottlelogfile.py +0 -0
- {seabirdfilehandler-0.7.0 → seabirdfilehandler-0.7.2}/src/seabirdfilehandler/datafiles.py +0 -0
- {seabirdfilehandler-0.7.0 → seabirdfilehandler-0.7.2}/src/seabirdfilehandler/geomar_ctd_file_parser.py +0 -0
- {seabirdfilehandler-0.7.0 → seabirdfilehandler-0.7.2}/src/seabirdfilehandler/hexfile.py +0 -0
- {seabirdfilehandler-0.7.0 → seabirdfilehandler-0.7.2}/src/seabirdfilehandler/utils.py +0 -0
- {seabirdfilehandler-0.7.0 → seabirdfilehandler-0.7.2}/src/seabirdfilehandler/xmlfiles.py +0 -0
|
@@ -20,7 +20,7 @@ urls.homepage = "https://ctd-software.pages.io-warnemuende.de/seabirdfilehandler
|
|
|
20
20
|
urls.repository = "https://git.io-warnemuende.de/CTD-Software/SeabirdFileHandler"
|
|
21
21
|
urls.documentation = "https://ctd-software.pages.io-warnemuende.de/seabirdfilehandler"
|
|
22
22
|
dynamic = []
|
|
23
|
-
version = "0.7.
|
|
23
|
+
version = "0.7.2"
|
|
24
24
|
|
|
25
25
|
[tool.poetry]
|
|
26
26
|
|
|
@@ -95,7 +95,7 @@ class CnvFile(DataFile):
|
|
|
95
95
|
|
|
96
96
|
"""
|
|
97
97
|
time_parameter = None
|
|
98
|
-
for parameter in self.
|
|
98
|
+
for parameter in self.parameters.keys():
|
|
99
99
|
if parameter.lower().startswith("time"):
|
|
100
100
|
time_parameter = parameter
|
|
101
101
|
if time_parameter and self.start_time:
|
|
@@ -106,8 +106,9 @@ class CnvFile(DataFile):
|
|
|
106
106
|
timedelta(days=float(time)) + self.start_time
|
|
107
107
|
if time_parameter == "timeJ"
|
|
108
108
|
else timedelta(seconds=float(time)) + self.start_time
|
|
109
|
-
for time in self.
|
|
110
|
-
]
|
|
109
|
+
for time in self.parameters[time_parameter].data
|
|
110
|
+
],
|
|
111
|
+
dtype=str,
|
|
111
112
|
),
|
|
112
113
|
)
|
|
113
114
|
return True
|
|
@@ -159,7 +160,7 @@ class CnvFile(DataFile):
|
|
|
159
160
|
def array2cnv(self) -> list:
|
|
160
161
|
result = []
|
|
161
162
|
for row in self.parameters.full_data_array:
|
|
162
|
-
formatted_row = "".join(
|
|
163
|
+
formatted_row = "".join(elem.rjust(11) for elem in row)
|
|
163
164
|
result.append(formatted_row + "\n")
|
|
164
165
|
return result
|
|
165
166
|
|
|
@@ -216,23 +217,21 @@ class CnvFile(DataFile):
|
|
|
216
217
|
self.data = self.array2cnv()
|
|
217
218
|
self.file_data = [*self.header, *self.data]
|
|
218
219
|
|
|
219
|
-
def add_processing_metadata(self,
|
|
220
|
+
def add_processing_metadata(self, module: str, key: str, value: str):
|
|
220
221
|
"""
|
|
221
222
|
Adds new processing lines to the list of processing module information
|
|
222
223
|
|
|
223
224
|
Parameters
|
|
224
225
|
----------
|
|
225
|
-
|
|
226
|
-
the
|
|
226
|
+
module: str :
|
|
227
|
+
the name of the processing module
|
|
228
|
+
key: str :
|
|
229
|
+
the description of the value
|
|
230
|
+
value: str :
|
|
231
|
+
the information
|
|
227
232
|
|
|
228
233
|
"""
|
|
229
|
-
|
|
230
|
-
addition = [addition]
|
|
231
|
-
self.processing_steps.append(
|
|
232
|
-
self.processing_steps.create_step_instance(
|
|
233
|
-
module=addition[0].split("_")[0], raw_info=addition
|
|
234
|
-
)
|
|
235
|
-
)
|
|
234
|
+
self.processing_steps.add_info(module, key, value)
|
|
236
235
|
self._update_header()
|
|
237
236
|
|
|
238
237
|
def add_station_and_event_column(self) -> bool:
|
{seabirdfilehandler-0.7.0 → seabirdfilehandler-0.7.2}/src/seabirdfilehandler/file_collection.py
RENAMED
|
@@ -445,7 +445,7 @@ class CnvCollection(FileCollection):
|
|
|
445
445
|
A list of ProcessingSteps.
|
|
446
446
|
"""
|
|
447
447
|
individual_processing_steps = [
|
|
448
|
-
file.processing_steps for file in self.data
|
|
448
|
+
file.processing_steps.modules for file in self.data
|
|
449
449
|
]
|
|
450
450
|
for index, step_info in enumerate(individual_processing_steps):
|
|
451
451
|
if step_info != individual_processing_steps[0]:
|
|
@@ -78,7 +78,7 @@ class Parameters(UserDict):
|
|
|
78
78
|
for i in range(0, len(line) - n, n)
|
|
79
79
|
]
|
|
80
80
|
)
|
|
81
|
-
return np.array(row_list, dtype=
|
|
81
|
+
return np.array(row_list, dtype="str")
|
|
82
82
|
|
|
83
83
|
def create_parameter_instances(
|
|
84
84
|
self,
|
|
@@ -176,7 +176,7 @@ class Parameters(UserDict):
|
|
|
176
176
|
for line in post
|
|
177
177
|
}
|
|
178
178
|
|
|
179
|
-
def add_parameter(self, parameter: Parameter):
|
|
179
|
+
def add_parameter(self, parameter: Parameter, position: str = ""):
|
|
180
180
|
"""
|
|
181
181
|
Adds one parameter instance to the collection.
|
|
182
182
|
|
|
@@ -186,13 +186,36 @@ class Parameters(UserDict):
|
|
|
186
186
|
The new parameter
|
|
187
187
|
|
|
188
188
|
"""
|
|
189
|
-
|
|
189
|
+
position_index = -1
|
|
190
|
+
# add to parameter dict at given
|
|
191
|
+
if position:
|
|
192
|
+
new_dict = {}
|
|
193
|
+
for index, (key, value) in enumerate(self.data.items()):
|
|
194
|
+
new_dict[key] = value
|
|
195
|
+
if key == position:
|
|
196
|
+
new_dict[parameter.name] = parameter
|
|
197
|
+
position_index = index + 1
|
|
198
|
+
self.data = new_dict
|
|
199
|
+
|
|
200
|
+
else:
|
|
201
|
+
self.data[parameter.name] = parameter
|
|
202
|
+
|
|
203
|
+
# update metadata dict
|
|
204
|
+
self.metadata = {
|
|
205
|
+
parameter.name: parameter.metadata
|
|
206
|
+
for parameter in self.data.values()
|
|
207
|
+
}
|
|
208
|
+
# add to full numpy data array
|
|
209
|
+
self.full_data_array = np.insert(
|
|
210
|
+
self.full_data_array, position_index, parameter.data, axis=1
|
|
211
|
+
)
|
|
190
212
|
|
|
191
213
|
def create_parameter(
|
|
192
214
|
self,
|
|
193
215
|
data: np.ndarray | int | float | str,
|
|
194
216
|
metadata: dict = {},
|
|
195
217
|
name: str = "",
|
|
218
|
+
position: str = "",
|
|
196
219
|
) -> Parameter:
|
|
197
220
|
"""
|
|
198
221
|
Creates a new parameter instance with the given data and metadata.
|
|
@@ -233,7 +256,7 @@ class Parameters(UserDict):
|
|
|
233
256
|
shape=self.full_data_array.shape[0],
|
|
234
257
|
)
|
|
235
258
|
parameter = Parameter(data=data, metadata=metadata)
|
|
236
|
-
self.add_parameter(parameter)
|
|
259
|
+
self.add_parameter(parameter, position)
|
|
237
260
|
return parameter
|
|
238
261
|
|
|
239
262
|
def add_default_metadata(
|
|
@@ -426,6 +449,7 @@ class Parameter:
|
|
|
426
449
|
self.data = data
|
|
427
450
|
self.metadata = metadata
|
|
428
451
|
self.name = metadata["shortname"]
|
|
452
|
+
self.parse_to_float()
|
|
429
453
|
self.update_span()
|
|
430
454
|
|
|
431
455
|
def __str__(self) -> str:
|
|
@@ -457,6 +481,15 @@ class Parameter:
|
|
|
457
481
|
except KeyError:
|
|
458
482
|
return
|
|
459
483
|
|
|
484
|
+
def parse_to_float(self):
|
|
485
|
+
"""
|
|
486
|
+
Tries to parse the data array type to float.
|
|
487
|
+
"""
|
|
488
|
+
try:
|
|
489
|
+
self.data = self.data.astype("float64")
|
|
490
|
+
except ValueError:
|
|
491
|
+
pass
|
|
492
|
+
|
|
460
493
|
def update_span(self):
|
|
461
494
|
"""
|
|
462
495
|
Updates the data span.
|
{seabirdfilehandler-0.7.0 → seabirdfilehandler-0.7.2}/src/seabirdfilehandler/processing_steps.py
RENAMED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
from collections import UserList
|
|
3
|
+
import copy
|
|
3
4
|
|
|
4
5
|
|
|
5
6
|
class CnvProcessingSteps(UserList):
|
|
@@ -28,6 +29,7 @@ class CnvProcessingSteps(UserList):
|
|
|
28
29
|
def _form_processing_info(self) -> list:
|
|
29
30
|
out_list = []
|
|
30
31
|
for module in self.data:
|
|
32
|
+
module = copy.deepcopy(module)
|
|
31
33
|
if "vars" in module.metadata and module.name != "wildedit":
|
|
32
34
|
module.metadata["date"] = (
|
|
33
35
|
module.metadata["date"]
|
|
@@ -167,6 +169,39 @@ class CnvProcessingSteps(UserList):
|
|
|
167
169
|
return self.data[index]
|
|
168
170
|
return None
|
|
169
171
|
|
|
172
|
+
def add_info(
|
|
173
|
+
self,
|
|
174
|
+
module: str,
|
|
175
|
+
key: str,
|
|
176
|
+
value: str,
|
|
177
|
+
) -> ProcessingStep | None:
|
|
178
|
+
"""
|
|
179
|
+
Adds new processing lines to the list of processing module information
|
|
180
|
+
|
|
181
|
+
Parameters
|
|
182
|
+
----------
|
|
183
|
+
module: str :
|
|
184
|
+
the name of the processing module
|
|
185
|
+
key: str :
|
|
186
|
+
the description of the value
|
|
187
|
+
value: str :
|
|
188
|
+
the information
|
|
189
|
+
|
|
190
|
+
Returns
|
|
191
|
+
-------
|
|
192
|
+
the altered ProcessingStep
|
|
193
|
+
|
|
194
|
+
"""
|
|
195
|
+
if module in self.modules:
|
|
196
|
+
step_info = self.get_step(module)
|
|
197
|
+
if step_info:
|
|
198
|
+
step_info.metadata[key] = value
|
|
199
|
+
else:
|
|
200
|
+
step_info = ProcessingStep(name=module, metadata={key: value})
|
|
201
|
+
self.data.append(step_info)
|
|
202
|
+
self.modules.append(module)
|
|
203
|
+
return step_info
|
|
204
|
+
|
|
170
205
|
|
|
171
206
|
class ProcessingStep:
|
|
172
207
|
"""
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{seabirdfilehandler-0.7.0 → seabirdfilehandler-0.7.2}/src/seabirdfilehandler/bottlelogfile.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|