From 219dfe7cda795dbcbc1452442116f8e2d525b7a2 Mon Sep 17 00:00:00 2001 From: Ben Dichter Date: Wed, 21 Feb 2024 14:59:26 +0000 Subject: [PATCH 1/2] fix circular reference for html repr --- src/hdmf/container.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/hdmf/container.py b/src/hdmf/container.py index 521568d95..13b691b9d 100644 --- a/src/hdmf/container.py +++ b/src/hdmf/container.py @@ -625,6 +625,8 @@ def _generate_html_repr(self, fields, level=0, access_code="", is_field=False): if isinstance(fields, dict): for key, value in fields.items(): + if value is self: + return f'
Circular reference detected for {value.name}
' current_access_code = f"{access_code}.{key}" if is_field else f"{access_code}['{key}']" if hasattr(value, '_generate_field_html'): html_repr += value._generate_field_html(key, value, level, current_access_code) From ecd56e13a03a7b24024fc6ae6dd6fcbd56a28e74 Mon Sep 17 00:00:00 2001 From: Ben Dichter Date: Wed, 21 Feb 2024 16:20:44 +0000 Subject: [PATCH 2/2] fix ruff --- src/hdmf/container.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/hdmf/container.py b/src/hdmf/container.py index 13b691b9d..9430d825f 100644 --- a/src/hdmf/container.py +++ b/src/hdmf/container.py @@ -626,7 +626,8 @@ def _generate_html_repr(self, fields, level=0, access_code="", is_field=False): if isinstance(fields, dict): for key, value in fields.items(): if value is self: - return f'
Circular reference detected for {value.name}
' + return f'
Circular reference ' \ + f'detected for {value.name}
' current_access_code = f"{access_code}.{key}" if is_field else f"{access_code}['{key}']" if hasattr(value, '_generate_field_html'): html_repr += value._generate_field_html(key, value, level, current_access_code)