Files
KissMe/KissMeConsole/Sources/KissConsole+News.swift

52 lines
1.4 KiB
Swift

//
// KissConsole+News.swift
// KissMeConsole
//
// Created by ened-book-m1 on 2023/08/02.
//
import Foundation
import KissMe
struct NewsList: Codable {
let list: [DomesticNews.NewsTitle]
}
extension KissConsole {
static func newsListUrl(day: String) -> URL {
let subPath = "data-news/\(day)"
let subFile = "\(subPath)/list.json"
let fileUrl = URL.currentDirectory().appending(path: subFile)
createSubpath(subPath)
return fileUrl
}
// static func newsArticleUrl(day: String) -> URL {
// let subPath = "data-news/\(day)"
// let subFile = "\(subPath)/"
// }
func writeNewsList(_ list: NewsList, day: Date) throws {
let listJson = KissConsole.newsListUrl(day: day.yyyyMMdd)
let jsonData = try JSONEncoder().encode(list)
try jsonData.write(to: listJson, options: .atomic)
}
func readNewsList(day: Date) throws -> NewsList {
let listJson = KissConsole.newsListUrl(day: day.yyyyMMdd)
let data = try Data(contentsOf: listJson, options: .uncached)
let newsList = try JSONDecoder().decode(NewsList.self, from: data)
return newsList
}
func writeNewsArticle(_ article: DomesticNews.NewsArticle, title: DomesticNews.NewsTitle, day: Date) throws {
// let articleJson = KissConsole.newsArticleUrl(day: day.yyyyMMdd)
}
}