Skip to content

Convert dmss (Dahua DMSS) to LAVA @artifact_processor (consolidate + media migration)#829

Merged
abrignoni merged 1 commit into
mainfrom
lava-batch-77
Jun 21, 2026
Merged

Convert dmss (Dahua DMSS) to LAVA @artifact_processor (consolidate + media migration)#829
abrignoni merged 1 commit into
mainfrom
lava-batch-77

Conversation

@abrignoni

Copy link
Copy Markdown
Owner

Converts dmss.py (Dahua Technology DMSS — CCTV + IoT) to the decorated @artifact_processor pattern.

Consolidation: the original produced 8 reports, where the IoT trio (Sensors / Cloud Devices / Notifications) was the same query run twice — once on the no-account .db and once per per-account ez*.db, with dynamic per-account report names ((Account- {filename})). Dynamic names don't fit LAVA tables, so each duplicated pair is consolidated into one table with an Account discriminator column (Without Account or the account name). Result — six stable artifacts (category Dahua Technology (DMSS)):

Function Name
get_dmss Dahua CCTV - Channels
get_dmss_info Dahua CCTV - Info
get_dmss_sensors Dahua IoT - Registered Sensors
get_dmss_cloud Dahua IoT - Registered Cloud Devices
get_dmss_notifications Dahua IoT - Notifications
get_dmss_media Dahua CCTV - User Created Media

Other

  • Notification Timestamp → aware UTC datetime (raw epoch ms); the stored device time string is kept as a plain Device Reported Time column.
  • User-created media (.jpg/.mp4/.dav, thumbnails skipped) migrates from media_to_html to ('File Content','media') via check_in_media.
  • Shared IoT queries hoisted to module constants (DRY). Author attribution moved into the header. Reserved-word column audit run — clean.

Original dates (2023-04-13) preserved.

…media migration)

Converts the Dahua DMSS CCTV/IoT parser to the decorated pattern. The
original emitted 8 reports including three pairs that were the SAME query
run on the no-account .db and each per-account ez*.db, with per-account
dynamic report names. These are consolidated into single tables with an
'Account' discriminator column ('Without Account' or the account name), so
the artifact is now six stable LAVA tables: CCTV Channels, CCTV Info, IoT
Registered Sensors, IoT Registered Cloud Devices, IoT Notifications, and
User Created Media. Notification timestamps become aware UTC datetimes
(from raw epoch ms; the stored device time string is kept as a plain
column). User-created media migrates from media_to_html to a
('File Content','media') column via check_in_media. Author attribution
preserved in the header; reserved-word column audit run (clean).
@abrignoni abrignoni merged commit 9096d79 into main Jun 21, 2026
1 check passed
@abrignoni abrignoni deleted the lava-batch-77 branch June 21, 2026 18:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant