Sha256: 2a2e52549b60f8510202a62d8434c4896be3a35592de2e91cac3f56f1a0a57e4

Contents?: true

Size: 964 Bytes

Versions: 1

Compression:

Stored size: 964 Bytes

Contents

%w{
cgi

flickraw

murlsh
}.each { |m| require m }

module Murlsh

  # Set the title and thumbnail url of Flickr photos.
  class AddPre60Flickr < Plugin

    @hook = 'add_pre'

    FlickrRe = %r{^http://(?:www\.)?flickr\.com/photos/[@\w\-]+?/([\d]+)}i
    StorageDir = File.join(File.dirname(__FILE__), '..', 'public', 'img',
      'thumb')

    def self.run(url, config)
      if config['flickr_api_key'] and not config['flickr_api_key'].empty?
        if photo_id = url.url[FlickrRe, 1]
          FlickRaw.api_key = config['flickr_api_key']
          info = flickr.photos.getInfo(:photo_id => photo_id)

          url.title = "#{info.title} by #{info.owner.username}"

          thumb_storage = Murlsh::ImgStore.new(StorageDir,
            :user_agent => config['user_agent'])
          stored_filename = thumb_storage.store(FlickRaw.url_s(info))
          url.thumbnail_url = "img/thumb/#{CGI.escape(stored_filename)}"
        end
      end
    end

  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
murlsh-1.0.0 plugins/add_pre_60_flickr.rb