look up firmware first seen timestamp correctly
This commit is contained in:
parent
18e7604b32
commit
1d2ea20694
1 changed files with 3 additions and 7 deletions
|
@ -147,7 +147,7 @@ class MeshNodeQuerySet(models.QuerySet):
|
||||||
msg.parsed.content.app_desc.app_elf_sha256: msg.datetime
|
msg.parsed.content.app_desc.app_elf_sha256: msg.datetime
|
||||||
for msg in NodeMessage.objects.filter(
|
for msg in NodeMessage.objects.filter(
|
||||||
message_type=MeshMessageType.CONFIG_FIRMWARE.name,
|
message_type=MeshMessageType.CONFIG_FIRMWARE.name,
|
||||||
data__content__app_elf_sha256__in=(node._firmware_description.sha256_hash
|
data__content__app_desc__app_elf_sha256__in=(node._firmware_description.sha256_hash
|
||||||
for node in nodes_to_complete)
|
for node in nodes_to_complete)
|
||||||
).order_by('data__content__app_elf_sha256',
|
).order_by('data__content__app_elf_sha256',
|
||||||
'datetime').distinct('data__content__app_elf_sha256')
|
'datetime').distinct('data__content__app_elf_sha256')
|
||||||
|
@ -157,16 +157,12 @@ class MeshNodeQuerySet(models.QuerySet):
|
||||||
created_lookup = {
|
created_lookup = {
|
||||||
app_elf_sha256: NodeMessage.objects.filter(
|
app_elf_sha256: NodeMessage.objects.filter(
|
||||||
message_type=MeshMessageType.CONFIG_FIRMWARE.name,
|
message_type=MeshMessageType.CONFIG_FIRMWARE.name,
|
||||||
data__content__app_elf_sha256=app_elf_sha256
|
data__content__app_desc__app_elf_sha256=app_elf_sha256
|
||||||
).order_by('datetime').first().datetime
|
).order_by('datetime').first().datetime
|
||||||
for app_elf_sha256 in {node._firmware_description.sha256_hash for node in nodes_to_complete}
|
for app_elf_sha256 in {node._firmware_description.sha256_hash for node in nodes_to_complete}
|
||||||
}
|
}
|
||||||
for node in nodes_to_complete:
|
for node in nodes_to_complete:
|
||||||
try:
|
node._firmware_description.created = created_lookup[node._firmware_description.sha256_hash]
|
||||||
node._firmware_description.created = created_lookup[node._firmware_description.sha256_hash]
|
|
||||||
except KeyError:
|
|
||||||
# todo: this shouldn't happen?!
|
|
||||||
node._firmware_description.created = datetime.now()
|
|
||||||
|
|
||||||
if self._prefetch_ota and not self._prefetch_ota_done:
|
if self._prefetch_ota and not self._prefetch_ota_done:
|
||||||
if nodes is None:
|
if nodes is None:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue