プロジェクト

全般

プロフィール

バグ #600 » openimg-fix-instagram.patch

Kohei Suzuki, 2013-07-18 22:38

差分を表示:

core/plugin/openimg/openimg.rb
Plugin.create :openimg do
DEFAULT_SIZE = [640, 480].freeze
USER_AGENT = (Environment::NAME + '/' + Environment::VERSION.to_s).freeze
@size = DEFAULT_SIZE
@position = [Gdk.screen_width/2 - @size[0]/2, Gdk.screen_height/2 - @size[1]/2].freeze
......
begin
uri = URI.parse(url)
path = uri.path + (uri.query ? "?"+uri.query : "")
res = Net::HTTP.new(uri.host).get(path, "User-Agent" => Environment::NAME + '/' + Environment::VERSION.to_s)
res = Net::HTTP.new(uri.host).get(path, "User-Agent" => USER_AGENT)
case(res)
when Net::HTTPSuccess
address = get_tagattr(res.body, element_rule)
......
nil
end
}
INSTAGRAM_PATTERN = %r{^http://(?:instagr\.am/p/([a-zA-Z0-9_]+)|instagram\.com/p/([a-zA-Z0-9_-]+))}
addsupport(INSTAGRAM_PATTERN) do |url, cancel|
m = url.match(INSTAGRAM_PATTERN)
shortcode = m[1] || m[2]
# http://instagram.com/developer/embedding/
uri = URI.parse "http://instagram.com/p/#{shortcode}/media/?size=l"
res = Net::HTTP.new(uri.host).get uri.request_uri, 'User-Agent' => USER_AGENT
if res.is_a? Net::HTTPRedirection
res['Location']
else
warn 'instagram url failed'
nil
end
end
::Gtk::TimeLine.addopenway(/.*\.(?:jpg|png|gif|)$/) { |shrinked_url, cancel|
url = MessageConverters.expand_url_one(shrinked_url)
Delayer.new { display(url, cancel) }
core/plugin/openimg/pattern_file.json
}
}
},
"Instagram": {
"url": "^http://(?:instagr\\.am/p/[a-zA-Z0-9_]+|instagram\\.com/p/[a-zA-Z0-9_-]+)",
"attribute": {
"class": "photo"
}
},
"img.ly": {
"url": "^http://img\\.ly/[a-zA-Z0-9_]+",
"attribute": {
    (1-1/1)