From eec252cb1653c5fe42610abe146dc71bc2c4e498 Mon Sep 17 00:00:00 2001 From: Lars Noack Date: Mon, 15 Apr 2024 14:12:26 +0200 Subject: [PATCH] feat: cleaned up the previous fix --- music_kraken/objects/parents.py | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/music_kraken/objects/parents.py b/music_kraken/objects/parents.py index 92b6514..93bb3a9 100644 --- a/music_kraken/objects/parents.py +++ b/music_kraken/objects/parents.py @@ -29,7 +29,7 @@ class InnerData: _refers_to_instances: set = None def __init__(self, object_type, **kwargs): - self._refers_to_instances = set() + self._refers_to_instances =set() # initialize the default values self.__default_values = {} @@ -105,6 +105,8 @@ class OuterProxy: self._fetched_from: dict = {} self._inner: InnerData = InnerData(type(self), **kwargs) + self._inner._refers_to_instances.add(self) + self.__init_collections__() for name, data_list in collection_data.items(): @@ -191,15 +193,10 @@ class OuterProxy: a, b = b, a a._inner.__merge__(b._inner, override=override) + a._inner._refers_to_instances.update(b._inner._refers_to_instances) - if len(b._inner._refers_to_instances) > 1: - for instance in b._inner._refers_to_instances: - instance._inner = a._inner - - b._inner = a._inner - - b._inner._refers_to_instances.add(a) - b._inner._refers_to_instances.add(b) + for instance in b._inner._refers_to_instances: + instance._inner = a._inner def mark_as_fetched(self, *url_hash_list: List[str]): for url_hash in url_hash_list: