diff options
Diffstat (limited to 'Sora/Data/MoebooruXMLParser.swift')
| -rw-r--r-- | Sora/Data/MoebooruXMLParser.swift | 49 |
1 files changed, 0 insertions, 49 deletions
diff --git a/Sora/Data/MoebooruXMLParser.swift b/Sora/Data/MoebooruXMLParser.swift deleted file mode 100644 index 1053299..0000000 --- a/Sora/Data/MoebooruXMLParser.swift +++ /dev/null @@ -1,49 +0,0 @@ -import Foundation - -class MoebooruXMLParser: NSObject, XMLParserDelegate { - private var posts: [MoebooruPost] = [] - private var currentAttributes: [String: String] = [:] - private var currentPost: MoebooruPost? - - func parse(data: Data) -> [MoebooruPost] { - let parser = XMLParser(data: data) - - parser.delegate = self - parser.parse() - - return posts - } - - func parser(_: XMLParser, didStartElement elementName: String, - namespaceURI _: String?, qualifiedName _: String?, - attributes attributeDict: [String: String]) - { - if elementName == "post" { - currentAttributes = attributeDict - - if let id = Int(attributeDict["id"] ?? ""), - let createdAtTimestamp = TimeInterval(attributeDict["created_at"] ?? "") - { - if let score = Int(attributeDict["score"] ?? ""), - let width = Int(attributeDict["width"] ?? ""), - let height = Int(attributeDict["height"] ?? "") - { - posts.append(MoebooruPost( - id: id, - tags: attributeDict["tags"]?.components(separatedBy: " ") ?? [], - createdAt: Date(timeIntervalSince1970: createdAtTimestamp), - author: attributeDict["author"] ?? "", - source: URL(string: attributeDict["source"] ?? ""), - score: score, - fileURL: URL(string: attributeDict["file_url"] ?? ""), - previewURL: URL(string: attributeDict["preview_url"] ?? ""), - sampleURL: URL(string: attributeDict["sample_url"] ?? ""), - jpegURL: URL(string: attributeDict["jpeg_url"] ?? ""), - width: width, - height: height - )) - } - } - } - } -} |