mirror of
https://github.com/echemdata/galvani.git
synced 2025-12-14 17:15:36 +00:00
Added code to parse the date string in the module headers
This commit is contained in:
12
BioLogic.py
12
BioLogic.py
@@ -6,6 +6,8 @@ __all__ = ['MPTfileCSV', 'MPTfile']
|
|||||||
import re
|
import re
|
||||||
import csv
|
import csv
|
||||||
from os import SEEK_SET, SEEK_CUR
|
from os import SEEK_SET, SEEK_CUR
|
||||||
|
import time
|
||||||
|
from datetime import date
|
||||||
|
|
||||||
import numpy as np
|
import numpy as np
|
||||||
|
|
||||||
@@ -181,6 +183,8 @@ class MPRfile:
|
|||||||
of which the file is composed.
|
of which the file is composed.
|
||||||
data - numpy record array of type VMPdata_dtype containing the main data
|
data - numpy record array of type VMPdata_dtype containing the main data
|
||||||
array of the file.
|
array of the file.
|
||||||
|
startdate - The date when the experiment started
|
||||||
|
enddate - The date when the experiment finished
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self, file_or_path):
|
def __init__(self, file_or_path):
|
||||||
@@ -196,8 +200,16 @@ class MPRfile:
|
|||||||
|
|
||||||
modules = list(read_VMP_modules(mpr_file))
|
modules = list(read_VMP_modules(mpr_file))
|
||||||
self.modules = modules
|
self.modules = modules
|
||||||
|
settings_mod, = (m for m in modules if m['shortname'] == b'VMP Set ')
|
||||||
data_module, = (m for m in modules if m['shortname'] == b'VMP data ')
|
data_module, = (m for m in modules if m['shortname'] == b'VMP data ')
|
||||||
|
log_module, = (m for m in modules if m['shortname'] == b'VMP LOG ')
|
||||||
|
|
||||||
## There is 100 bytes of data before the main array starts
|
## There is 100 bytes of data before the main array starts
|
||||||
self.data = np.frombuffer(data_module['data'], dtype=VMPdata_dtype,
|
self.data = np.frombuffer(data_module['data'], dtype=VMPdata_dtype,
|
||||||
offset=100)
|
offset=100)
|
||||||
|
tm = time.strptime(str(settings_mod['date'], encoding='ascii'),
|
||||||
|
'%m/%d/%y')
|
||||||
|
self.startdate = date(tm.tm_year, tm.tm_mon, tm.tm_mday)
|
||||||
|
tm = time.strptime(str(log_module['date'], encoding='ascii'),
|
||||||
|
'%m/%d/%y')
|
||||||
|
self.enddate = date(tm.tm_year, tm.tm_mon, tm.tm_mday)
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
import os.path
|
import os.path
|
||||||
|
from datetime import date
|
||||||
|
|
||||||
import numpy as np
|
import numpy as np
|
||||||
from numpy.testing import assert_array_almost_equal, assert_array_equal
|
from numpy.testing import assert_array_almost_equal, assert_array_equal
|
||||||
@@ -40,8 +41,10 @@ def test_open_MPT_csv_fails_for_bad_file():
|
|||||||
mpt1 = MPTfileCSV(os.path.join(testdata_dir, 'bio-logic1.mpr'))
|
mpt1 = MPTfileCSV(os.path.join(testdata_dir, 'bio-logic1.mpr'))
|
||||||
|
|
||||||
|
|
||||||
def test_open_MPR():
|
def test_MPR_read_dates():
|
||||||
mpr1 = MPRfile(os.path.join(testdata_dir, 'bio-logic1.mpr'))
|
mpr1 = MPRfile(os.path.join(testdata_dir, 'bio-logic1.mpr'))
|
||||||
|
eq_(mpr1.startdate, date(2011, 10, 29))
|
||||||
|
eq_(mpr1.enddate, date(2011, 10, 31))
|
||||||
|
|
||||||
|
|
||||||
@raises(ValueError)
|
@raises(ValueError)
|
||||||
|
|||||||
Reference in New Issue
Block a user