plugin/puboo.rb in tdiary-contrib-5.1.2 vs plugin/puboo.rb in tdiary-contrib-5.1.3
- old
+ new
@@ -1,11 +1,11 @@
# -*- coding: utf-8 -*-
# Copyright (C) 2013, TADA Tadashi <t@tdtds.jp>
# Original code from tatsu_zine.rb by KADO Masanori <kdmsnr@gmail.com>
# You can redistribute it and/or modify it under GPL.
#
-# display book info in http://p.booklog.jp/ like amazon.rb
+# display book info in https://puboo.jp/ like amazon.rb
# USAGE: {{puboo 9999}}
require 'open-uri'
def puboo_cache_dir
@@ -31,16 +31,16 @@
def puboo( id, doc = nil )
if !@conf.secure and !(result = puboo_cache_get(id)).nil?
return result
end
- link = "http://p.booklog.jp/book/#{id}"
- doc ||= open( link ).read.force_encoding('UTF-8')
- title = doc.match(%r|<meta property="og:title"\s*content="(.*)"|).to_a[1]
+ link = "https://puboo.jp/book/#{id}"
+ doc ||= URI.open( link ).read.force_encoding('UTF-8')
+ title = doc.match(%r|<meta property="og:title"\s*content="(.*)"|).to_a[1].split(/|/)[0]
image = doc.match(%r|<meta property="og:image"\s*content="(.*)"|).to_a[1]
- price = doc.match(%r|<th class="th_2">価格</th>.*?<span>(.*?)</span>.*?<br />|m).to_a[1]
- author = doc.match(%r|<th>作者</th>(.*?)</td>|m).to_a[1].gsub(/<.*?>/, '').strip
+ price = doc.match(%r|<span\s*class="h2">(.*?)</span>|m).to_a[1]
+ author = doc.match(%r|著: <a.*?>(.*?)</a>|m).to_a[1]
result = <<-EOS
<a class="amazon-detail" href="#{h link}"><span class="amazon-detail">
<img class="amazon-detail left" src="#{h image}"
height="150" width="100"
@@ -59,25 +59,25 @@
link
end
if __FILE__ == $0
require 'test/unit'
- class TestTatsuZine < Test::Unit::TestCase
+ class TestPuboo < Test::Unit::TestCase
def setup
@conf = Struct.new("Conf", :secure).new(true)
def h(str); str; end
end
def test_puboo
expect = <<-EOS
- <a class="amazon-detail" href="http://p.booklog.jp/book/70667"><span class="amazon-detail">
- <img class="amazon-detail left" src="http://img.booklog.jp/667BDD9E-B13E-11E2-82F3-6425FFDA975F_l.jpg"
+ <a class="amazon-detail" href="https://puboo.jp/book/70667"><span class="amazon-detail">
+ <img class="amazon-detail left" src="https://img.puboo.jp/667BDD9E-B13E-11E2-82F3-6425FFDA975F_l.jpg"
height="150" width="100"
alt="入門Puppet - Automate Your Infrastructure">
<span class="amazon-detail-desc">
<span class="amazon-title">入門Puppet - Automate Your Infrastructure</span><br>
<span class="amazon-author">栗林健太郎</span><br>
- <span class="amazon-price">890円(税込)</span>
+ <span class="amazon-price">890円</span>
</span><br style="clear: left">
</span></a>
EOS
assert_equal expect, puboo('70667')
end