import Foundation extension Content { func importOldContent() { let importer = Importer() do { try importer.importContent() } catch { print(error) return } for (_, file) in importer.files.sorted(by: { $0.key < $1.key }) { storage.copyFile(at: file.url, fileId: file.name) // TODO: Store alt text for image and videos } var missingPages: [String] = [] for (pageId, page) in importer.pages.sorted(by: { $0.key < $1.key }) { storage.save(pageMetadata: page.page, for: pageId) if FileManager.default.fileExists(atPath: page.deContentUrl.path()) { storage.copyPageContent(from: page.deContentUrl, for: pageId, language: .german) } else { missingPages.append(pageId + " (DE)") } if FileManager.default.fileExists(atPath: page.enContentUrl.path()) { storage.copyPageContent(from: page.enContentUrl, for: pageId, language: .english) } else { missingPages.append(pageId + " (EN)") } } for (tagId, tag) in importer.tags { storage.save(tagMetadata: tag, for: tagId) } for (postId, post) in importer.posts { storage.save(post: post, for: postId) } let ignoredFiles = importer.ignoredFiles .map { $0.path() } .sorted() print("Ignored files:") for file in ignoredFiles { print(file) } print("Missing pages:") for page in missingPages { print(page) } do { try loadFromDisk() } catch { print("Failed to load from disk: \(error)") } } }