Skip to content

Convert the iCloud cluster (iCloudWifi + icloudMeta + icloudSharedalbums)#1586

Merged
abrignoni merged 1 commit into
mainfrom
convert-icloud-cluster
Jun 24, 2026
Merged

Convert the iCloud cluster (iCloudWifi + icloudMeta + icloudSharedalbums)#1586
abrignoni merged 1 commit into
mainfrom
convert-icloud-cluster

Conversation

@abrignoni

Copy link
Copy Markdown
Owner

Modernizes three iCloud-related old-style artifacts to LAVA. Context form, UTC. 6 processors total.

iCloudWifi (1)

  • Single report; replaced files_found[0] blind index with iterate+endswith+guard; Added At parsed to a datetime (was str()).

icloudMeta (1)

  • Consolidated the dynamic per-file iCloud - File Metadata N reports into one table across files.
  • Timestamp fix: btime/ctime/mtime were naive-local datetime.fromtimestamp(x/1000)convert_unix_ts_to_utc (correct aware UTC; verified 1678307200000 ms → 2023-03-08 20:26:40Z).
  • Fixed the '' > 0 TypeError when a time key is absent; guarded file_flags and the JSON line / last-editor parse.

icloudSharedalbums (4 → split)

  • icloudSharedOwnerInfo, icloudSharedAlbumData, icloudSharedPersonInfo, icloudSharedEmails (each dispatches on its plist filename under PhotoCloudSharingData).
  • Fixed undefined-var NameErrors (albumtitle/dcim* when keys absent) via .get(); fixed header typos (ClowdCloud, OwnewrOwner, LAstLast).

Validation

  • pylint 10.00/10; compile/ast OK; no legacy refs (files_found[0]/fromtimestamp/timezone_offset gone).
  • Functional tests for all 6 (synthetic wifid plist, Metadata.txt line, the 4 shared-album plists) — all extract correctly.
  • Reserved-word audit PASS for all 6 tables. No external imports of the old names.

Three iCloud-related artifacts -> context form, UTC.

- iCloudWifi: single report; replaced files_found[0] blind index with
  iterate+endswith+guard; 'Added At' parsed to a datetime (was str()).
- icloudMeta: consolidated the per-file 'iCloud - File Metadata N' reports into
  one table across files; btime/ctime/mtime were naive-local
  datetime.fromtimestamp(x/1000) -> convert_unix_ts_to_utc (correct aware UTC);
  fixed the '' > 0 TypeError when a time key is absent; guarded file_flags and
  the JSON line/last_editor parse.
- icloudSharedalbums: split the 4 reports into icloudSharedOwnerInfo /
  icloudSharedAlbumData / icloudSharedPersonInfo / icloudSharedEmails; fixed
  undefined-var NameErrors (albumtitle/dcim* when keys absent) via .get(); fixed
  header typos (Clowd->Cloud, Ownewr->Owner, LAst->Last); get_relative_path on
  File Location.
@abrignoni abrignoni merged commit 4f394d4 into main Jun 24, 2026
1 check passed
@abrignoni abrignoni deleted the convert-icloud-cluster branch June 24, 2026 04:14
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