class UnsplashDownloader::CLI

Public Instance Methods

count_all(path = Dir.pwd) click to toggle source
# File lib/unsplash_downloader.rb, line 86
def count_all(path = Dir.pwd)
  path = File.join(Dir.pwd, path) if path != Dir.pwd 
  unsplash = Unsplash.new(false)
  photos = Photos.new(path, false)
  puts "Counting.."
  unsplash.get_source
  unsplash.count_pages
  photos.get_urls(unsplash.merge_all_elements)
  puts "There are #{photos.count_all} Unsplash photos."
end
count_new(path = Dir.pwd) click to toggle source
# File lib/unsplash_downloader.rb, line 66
def count_new(path = Dir.pwd)
  path = File.join(Dir.pwd, path) if path != Dir.pwd
  if File.exist?(File.join(path, "unsplash", "urls.txt"))      
    photos = Photos.new(path, false)
    photos.count_all_from_file
    puts "You don't have #{photos.count_new} photos in `#{path}/unsplash` folder."
  else
    puts "File `urls.txt` not found. Creating.."
    unsplash = Unsplash.new(false)
    photos = Photos.new(path, false)
    unsplash.get_source
    unsplash.count_pages
    urls = photos.get_urls(unsplash.merge_all_elements)
    photos.save_urls
    photos.count_all
    puts "You don't have #{photos.count_new} photos in `#{path}/unsplash` folder."   
  end
end
download(path = Dir.pwd) click to toggle source
# File lib/unsplash_downloader.rb, line 35
def download(path = Dir.pwd) 
  path = File.join(Dir.pwd, path) if path != Dir.pwd
  verbose = options[:verbose]
  unsplash = Unsplash.new(options[:verbose])
  photos = Photos.new(path, options[:verbose])
  unsplash.get_source
  puts "Getting Unsplash source." if verbose
  unsplash.count_pages
  print "Counting pages.." if verbose
  puts unsplash.number_of_pages if verbose
  photos.get_urls(unsplash.merge_all_elements)
  photos.save_urls
  puts "Saving urls to `#{path}/unsplash/unsplash_urls.txt`.." if verbose
  photos.count_all
  puts "There are #{photos.number_of_photos} photos on Unsplash." if verbose
  if options[:all] 
    puts "Downloading.." if verbose
    photos.download_all
  else 
    number_of_new_photos = photos.count_new
    puts "You don't have #{number_of_new_photos} photos in `#{path}/unsplash` folder." if verbose 
    puts "Downloading.." if verbose
    photos.download_new
  end
  puts 'Done!' if verbose
end
get_urls(path = Dir.pwd) click to toggle source
# File lib/unsplash_downloader.rb, line 98
def get_urls(path = Dir.pwd) 
  path = File.join(Dir.pwd, path) if path != Dir.pwd
  unsplash = Unsplash.new(false)
  photos = Photos.new(path, false)
  unsplash.get_source
  unsplash.count_pages
  urls = photos.get_urls(unsplash.merge_all_elements)
  puts urls
end