summaryrefslogtreecommitdiff
path: root/Sora/Data/MoebooruXMLParser.swift
diff options
context:
space:
mode:
Diffstat (limited to 'Sora/Data/MoebooruXMLParser.swift')
-rw-r--r--Sora/Data/MoebooruXMLParser.swift49
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
- ))
- }
- }
- }
- }
-}