Skip to content

Commit fb88b35

Browse files
authored
Merge pull request #47 from malcolmw/dev/tags_attribute
Add tags attribute to ASDFDataSet class.
2 parents 1664fd9 + ebbffbc commit fb88b35

File tree

3 files changed

+28
-0
lines changed

3 files changed

+28
-0
lines changed

pyasdf/asdf_data_set.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -492,6 +492,14 @@ def events(self, event):
492492
self.__file["QuakeML"].resize(data.shape)
493493
self.__file["QuakeML"][:] = data
494494

495+
@property
496+
def waveform_tags(self):
497+
"""
498+
Returns a set with all tags in the dataset.
499+
"""
500+
return set(itertools.chain.from_iterable(i.get_waveform_tags()
501+
for i in self.waveforms))
502+
495503
def add_auxiliary_data_file(
496504
self, filename_or_object, path, parameters=None,
497505
provenance_id=None):

pyasdf/tests/test_asdf_data_set.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,21 @@ def example_data_set(tmpdir):
7272
return Namespace(filename=asdf_filename, tmpdir=tmpdir.strpath)
7373

7474

75+
def test_waveform_tags_attribute(tmpdir):
76+
asdf_filename = os.path.join(tmpdir.strpath, "test.h5")
77+
data_path = os.path.join(data_dir, "small_sample_data_set")
78+
79+
data_set = ASDFDataSet(asdf_filename)
80+
81+
itag = 1
82+
for filename in glob.glob(os.path.join(data_path, "*.mseed")):
83+
data_set.add_waveforms(filename, tag="tag%d" % itag)
84+
itag += 1
85+
86+
expected = set([u"tag1", u"tag2", u"tag3", u"tag4", u"tag5", u"tag6"])
87+
assert data_set.waveform_tags == expected
88+
89+
7590
def test_data_set_creation(tmpdir):
7691
"""
7792
Test data set creation with a small test dataset.

setup.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,11 @@
1313
---------
1414
1515
::
16+
Version 0.4.x
17+
-------------
18+
* New .waveform_tags property for the dataset object return a set of all
19+
available waveform tags (see #46, #47)
20+
1621
Version 0.4.0 (March 12, 2018)
1722
-------------------
1823
* Support for ASDF version 1.0.2. Allows writing traces that are less than

0 commit comments

Comments
 (0)