class Nokaya::TumblrAlbum

Public Class Methods

new(args, options = {}) click to toggle source
Calls superclass method Nokaya::Basic::new
# File lib/nokaya/tumblr_album.rb, line 6
def initialize args, options = {}
  super(args, options)
  @type = :tumblr
  parsed = parse(args[0])
  @urls = album(parsed)
  @filenames = name_files()
  @path = "#{@path}/tumblr-#{@workers.timed}"
end

Private Instance Methods

album(page) click to toggle source
# File lib/nokaya/tumblr_album.rb, line 17
def album page
  return [] if page.nil?
  refs = []
  queries = ['img.photo', '.post .photo a img', '.entry img', 'article img', '.image img', '.item_content img', 'img.post-image', '.box img', '#allposts img', '.media img', '.wide img', '.big img', '.large img', '.gallery img', '.photos img', '.content img', 'img']
  queries.each do |query|
    refs = page.css query
    next if refs.empty?
    break
  end
  links = []
  refs.each do |l|
    target = l['src']
    unless (target == 'reblog.png' || target =~ /statcounter/ || target =~ /impixu/ || target =~ /quantserve/ || target == 'like.png')
      links << target
    end
  end
  links.compact
end
name_files() click to toggle source
# File lib/nokaya/tumblr_album.rb, line 36
def name_files
  @urls.map do |url|
    "#{@type.to_s}-#{File.basename(url).gsub('tumblr_', '')}"
  end
end