Fix #3117: Nicoseiga handler grabbing wrong commentary source
* `summary` is the wrong field. It's the list of comments left by users, not the artist's commentary. * For some reason `doc.response.image.description` returns nil even though the description element exists. Switch to `Hash.from_xml` to avoid this.
This commit is contained in:
@@ -28,15 +28,16 @@ class NicoSeigaApiClient
|
||||
end
|
||||
|
||||
def parse_artist_xml_response(text)
|
||||
doc = Nokogiri::Slop(text)
|
||||
@moniker = doc.response.user.nickname.content
|
||||
doc = Hash.from_xml(text)
|
||||
@moniker = doc["response"]["user"]["nickname"]
|
||||
end
|
||||
|
||||
def parse_illust_xml_response(text)
|
||||
doc = Nokogiri::Slop(text)
|
||||
@image_id = doc.response.image.id.content.to_i
|
||||
@user_id = doc.response.image.user_id.content.to_i
|
||||
@title = doc.response.image.title.content
|
||||
@desc = [doc.response.image.description.try(:content), doc.response.image.summary.try(:content)].compact.join("\n\n")
|
||||
doc = Hash.from_xml(text)
|
||||
image = doc["response"]["image"]
|
||||
@image_id = image["id"].to_i
|
||||
@user_id = image["user_id"].to_i
|
||||
@title = image["title"]
|
||||
@desc = image["description"]
|
||||
end
|
||||
end
|
||||
|
||||
@@ -23,7 +23,7 @@ module Sources
|
||||
|
||||
should "get the artist commentary" do
|
||||
assert_equal("コジコジ", @site_2.artist_commentary_title)
|
||||
assert_equal("懐かしいですよね。テ また懐かしいものを ", @site_2.artist_commentary_desc)
|
||||
assert_equal("コジコジのドット絵\nこんなかわいらしい容姿で毒を吐くコジコジが堪らん(切実)", @site_2.artist_commentary_desc)
|
||||
end
|
||||
|
||||
should "get the image url" do
|
||||
|
||||
Reference in New Issue
Block a user