Skip to content

Commit

Permalink
[python] the primitive builder reset state failure (#600)
Browse files Browse the repository at this point in the history
Make sure to reset the primitive `_stream_id` after each usage, and
make sure each class is calling the super class.

It looks like the static `_category` was being improperly reset
instead, that is now changed to `_stream_id` and everything works
correctly with a full state flush each time.
  • Loading branch information
jlisee committed Jun 30, 2020
1 parent 237cc98 commit c001c4b
Show file tree
Hide file tree
Showing 5 changed files with 12 additions and 7 deletions.
3 changes: 2 additions & 1 deletion python/xviz_avs/builder/base_builder.py
Original file line number Diff line number Diff line change
Expand Up @@ -106,8 +106,9 @@ def metadata(self):

def _flush(self):
raise NotImplementedError("Derived class should implement this method")

def reset(self):
self._category = None
self._stream_id = None

def _validate_has_prop(self, name):
if not hasattr(self, name) or not getattr(self, name):
Expand Down
1 change: 1 addition & 0 deletions python/xviz_avs/builder/primitive.py
Original file line number Diff line number Diff line change
Expand Up @@ -247,6 +247,7 @@ def _validate_style(self):
', '.join(invalid_props), self.stream_id)

def reset(self):
super().reset()
self._type = None

self._image = None
Expand Down
9 changes: 5 additions & 4 deletions python/xviz_avs/builder/time_series.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ def __init__(self, metadata, logger=None):
# Stores time_series data by timestamp then id
# They will then be group when constructing final object
self._data = {}
self._reset()
self.reset()

def id(self, identifier):
self._validate_prop_set_once('_id')
Expand Down Expand Up @@ -76,7 +76,7 @@ def _add_timestamp_entry(self):
field_name = "doubles"
else:
self._logger.error("The type of input value is not recognized!")

ts_entry = self._data.get(self._timestamp)
if ts_entry:
id_entry = ts_entry.get(self._id)
Expand Down Expand Up @@ -112,9 +112,10 @@ def _validate(self):
def _flush(self):
self._validate()
self._add_timestamp_entry()
self._reset()
self.reset()

def _reset(self):
def reset(self):
super().reset()
self._id = None
self._value = None
self._timestamp = None
1 change: 1 addition & 0 deletions python/xviz_avs/builder/ui_primitive.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ def __init__(self, metadata, logger=None):
self._primitives = {}

def reset(self):
super().reset()
self._type = None
self._columns = None
self._row = None
Expand Down
5 changes: 3 additions & 2 deletions python/xviz_avs/builder/variable.py
Original file line number Diff line number Diff line change
Expand Up @@ -80,8 +80,9 @@ def _validate(self):
def _flush(self):
self._validate()
self._add_variable_entry()
self._reset()
self.reset()

def _reset(self):
def reset(self):
super().reset()
self._id = None
self._values = None

0 comments on commit c001c4b

Please sign in to comment.