make sure metadata is set when first generated

This commit is contained in:
2026-02-27 00:44:15 +01:00
parent 0234f2c8ff
commit 9dabc84f22

View File

@@ -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")
}
}