From 9dabc84f2227363d5cf99e4e876c46bde63b8051 Mon Sep 17 00:00:00 2001 From: Vegard Matthey Date: Fri, 27 Feb 2026 00:44:15 +0100 Subject: [PATCH] make sure metadata is set when first generated --- ImageViewer/ViewController.swift | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/ImageViewer/ViewController.swift b/ImageViewer/ViewController.swift index 7bddb81..d746ba7 100644 --- a/ImageViewer/ViewController.swift +++ b/ImageViewer/ViewController.swift @@ -303,7 +303,7 @@ class ViewController: UIViewController, UIGestureRecognizerDelegate { return } - var metadata = Metadata.init( + var newMetadata = Metadata.init( title: "", original_language: "", last_volume: MetaValue.init(main: 0, bonus: nil), @@ -347,9 +347,9 @@ class ViewController: UIViewController, UIGestureRecognizerDelegate { if currentVolume != nil { if volume != currentVolume { - metadata.chapter_count += 1 + newMetadata.chapter_count += 1 assert(volume > currentVolume) - metadata.volumes.append( + newMetadata.volumes.append( VolumeMetadata.init( volume: MetaValue.init(main: volume, bonus: nil), name: nil, chapters: [ @@ -364,13 +364,13 @@ class ViewController: UIViewController, UIGestureRecognizerDelegate { ]) ])) } else if chapter != currentChapter { - metadata.chapter_count += 1 + newMetadata.chapter_count += 1 if chapter.0 == currentChapter.0 { assert(chapter.1! == currentChapter.1 ?? 1) } else { assert(chapter.0 == currentChapter.0 + 1) } - metadata.volumes[metadata.volumes.count - 1].chapters.append( + newMetadata.volumes[newMetadata.volumes.count - 1].chapters.append( ChapterMetadata.init( chapter: MetaValue.init(main: chapter.0, bonus: chapter.1), name: "", @@ -380,16 +380,16 @@ class ViewController: UIViewController, UIGestureRecognizerDelegate { firstPage: page) ])) } else { - metadata.volumes[metadata.volumes.count - 1].chapters[ - metadata.volumes[metadata.volumes.count - 1].chapters.count - 1 + newMetadata.volumes[newMetadata.volumes.count - 1].chapters[ + newMetadata.volumes[newMetadata.volumes.count - 1].chapters.count - 1 ].images.append( ImageMetadata.init( doublePage: doublePage, fileName: fileName, firstPage: page) ) } } else { - metadata.chapter_count += 1 - metadata.volumes.append( + newMetadata.chapter_count += 1 + newMetadata.volumes.append( VolumeMetadata.init( volume: MetaValue.init(main: volume, bonus: nil), name: nil, chapters: [ @@ -411,16 +411,18 @@ class ViewController: UIViewController, UIGestureRecognizerDelegate { print("failed reading image file names") } + metadata = newMetadata + do { let encoder = JSONEncoder() encoder.outputFormatting = [.prettyPrinted, .sortedKeys] encoder.keyEncodingStrategy = .useDefaultKeys try encoder.encode( - metadata + newMetadata ).write( to: path.appendingPathComponent(outFileName)) } catch { - print("failed to save metadata") + print("failed to save generated metadata") } }