Add Import/Export feature: JSON state backup and filesystem metadata export#170
Conversation
…ort, smb.json scanner support
… idempotent dir creation, accessibility fix
|
@copilot There are new import references to LegacyFileSystem. Refactor these into the modern class based system. |
… to episodeTitle in JSON export format
Done in commits LegacyFileSystem removed:
Old variable names fixed:
|
|
@copilot the import of StorageAccessFramework from the legacy library should be able to be updated to a modern version. I don't think we use this elsewhere for the same purpose. |
…le API in ImportExportService
Done in the latest commit. The
The |
Adds three import/export capabilities to the Settings page: JSON backup/restore of app state, and writing enriched metadata alongside media files for persistence across rescans.
Settings UI
JSON export/import (
ImportExportService)exportJsonsaves selected state slices (API keys/view options, overrides, matched TMDB/TVDB IDs + episode names) to a singlesmb_export_YYYY-MM-DD.jsonvia SAF directory pickerimportJsonrestores via document picker; only sections present in the file are appliedFilesystem metadata export
exportToFilesystemwrites alongside each show/movie folder:smb.json— versioned (smbVersion: 1) with provider IDs,metadataSource, episode titles, and user overridesposter.jpg— copied from local provider cachesmb_thumb_s01e02.jpg— per-episode thumbnails written to their season directoryFileScanner pickup on rescan
recursiveCollectdetectssmb.jsonandsmb_thumb_*.jpgduring traversalbuildLibrary/buildMovieListsmbThumbFilename()+SMB_THUMB_REGEXinSmbTypes.tskeep writer and reader in sync