fix: log warnings if target object cache has duplicate keys
This commit is contained in:
parent
e2d0794379
commit
5ea3b2a4da
1 changed files with 12 additions and 4 deletions
|
|
@ -923,24 +923,32 @@ class Importer: # pylint: disable=too-many-instance-attributes,too-many-public-
|
|||
}
|
||||
}
|
||||
"""
|
||||
objects = self.get_target_objects(source_data=source_data)
|
||||
model_title = self.get_model_title()
|
||||
target_title = self.handler.get_target_title()
|
||||
cached = {}
|
||||
|
||||
objects = self.get_target_objects(source_data=source_data)
|
||||
log.debug("got %s %s records from target", len(objects), model_title)
|
||||
|
||||
def cache(obj, i): # pylint: disable=unused-argument
|
||||
data = self.normalize_target_object(obj)
|
||||
if data:
|
||||
key = self.get_record_key(data)
|
||||
if key in cached:
|
||||
log.warning(
|
||||
"target key was already cached (replacing) for %s: %s",
|
||||
model_title,
|
||||
key,
|
||||
)
|
||||
cached[key] = {"object": obj, "data": data}
|
||||
|
||||
model_title = self.get_model_title()
|
||||
target_title = self.handler.get_target_title()
|
||||
self.app.progress_loop(
|
||||
cache,
|
||||
objects,
|
||||
progress,
|
||||
message=f"Reading {model_title} data from {target_title}",
|
||||
)
|
||||
log.debug(f"cached %s {model_title} records from target", len(cached))
|
||||
log.debug("cached %s %s records from target", len(cached), model_title)
|
||||
return cached
|
||||
|
||||
def get_target_objects(self, source_data=None, progress=None):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue