Skip to content

Commit

Permalink
remove _updated attributes for multi table
Browse files Browse the repository at this point in the history
  • Loading branch information
R-Palazzo committed Feb 13, 2024
1 parent 18ee971 commit d20f32a
Show file tree
Hide file tree
Showing 5 changed files with 9 additions and 12 deletions.
6 changes: 3 additions & 3 deletions sdv/metadata/multi_table.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,19 +30,19 @@ def __init__(self):
self.tables = {}
self.relationships = []
self._multi_table_updated = None
self._updated = None

def _check_updated_flag(self):
is_single_table_updated = any(table._updated for table in self.tables.values())
if is_single_table_updated or self._multi_table_updated:
self._updated = True
return True

return False

def _reset_updated_flag(self):
for table in self.tables.values():
table._updated = False

self._multi_table_updated = False
self._updated = False

def _validate_missing_relationship_keys(self, parent_table_name, parent_primary_key,
child_table_name, child_foreign_key):
Expand Down
3 changes: 1 addition & 2 deletions sdv/multi_table/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -70,8 +70,7 @@ def _print(self, text='', **kwargs):
print(text, **kwargs) # noqa: T001

def _check_metadata_updated(self):
self.metadata._check_updated_flag()
if self.metadata._updated:
if self.metadata._check_updated_flag():
self.metadata._reset_updated_flag()
warnings.warn(
"We strongly recommend saving the metadata using 'save_to_json' for replicability"
Expand Down
2 changes: 1 addition & 1 deletion tests/integration/multi_table/test_hma.py
Original file line number Diff line number Diff line change
Expand Up @@ -1399,6 +1399,6 @@ def test_metadata_updated_warning(method, kwargs):
HMASynthesizer(metadata)

# Assert
assert metadata._updated is False
assert metadata._multi_table_updated is False
for table_name, table_metadata in metadata.tables.items():
assert table_metadata._updated is False
9 changes: 4 additions & 5 deletions tests/unit/metadata/test_multi_table.py
Original file line number Diff line number Diff line change
Expand Up @@ -99,11 +99,11 @@ def test__check_metadata_updated_single_metadata_updated(self):
instance.tables['table_2']._updated = False

# Run
instance._check_updated_flag()
result = instance._check_updated_flag()

# Assert
assert instance._multi_table_updated is None
assert instance._updated is True
assert result is True

def test__check_metadata_updated_multi_metadata_updated(self):
"""Test ``_check_metadata_updated`` method when multi table metadata has been updated."""
Expand All @@ -116,11 +116,11 @@ def test__check_metadata_updated_multi_metadata_updated(self):
instance._multi_table_updated = True

# Run
instance._check_updated_flag()
result = instance._check_updated_flag()

# Assert
assert instance._multi_table_updated is True
assert instance._updated is True
assert result is True

def test__reset_updated_flag(self):
"""Test the ``_reset_updated_flag`` method."""
Expand All @@ -138,7 +138,6 @@ def test__reset_updated_flag(self):

# Assert
assert instance._multi_table_updated is False
assert instance._updated is False
assert instance.tables['table_1']._updated is False
assert instance.tables['table_2']._updated is False

Expand Down
1 change: 0 additions & 1 deletion tests/unit/multi_table/test_base.py
Original file line number Diff line number Diff line change
Expand Up @@ -168,7 +168,6 @@ def test__check_metadata_updated(self):
instance.metadata = Mock()
instance.metadata._check_updated_flag = Mock()
instance.metadata._reset_updated_flag = Mock()
instance.metadata._updated = True

# Run
expected_message = re.escape(
Expand Down

0 comments on commit d20f32a

Please sign in to comment.