class Flickrage::CLI

CLI is here

Public Class Methods

new(*args) click to toggle source

Overriding Thor method for custom initialization

Calls superclass method
# File lib/flickrage/cli.rb, line 20
def initialize(*args)
  super

  setup_config
  set_logger
end

Public Instance Methods

backtrace(e) click to toggle source
# File lib/flickrage/cli.rb, line 228
def backtrace(e)
  e.backtrace.each do |t|
    logger.error t
  end
end
clean() click to toggle source
# File lib/flickrage/cli.rb, line 161
def clean
  cleanup
end
cleanup() click to toggle source
# File lib/flickrage/cli.rb, line 186
def cleanup
  return logger.info('Output directory not exists, cleanup skipped') unless cleanup?
  FileUtils.rm_rf("#{options['output']}/.", secure: true)
end
cleanup?() click to toggle source
# File lib/flickrage/cli.rb, line 191
def cleanup?
  options['output'] && Dir.exist?(options['output'])
end
collage() click to toggle source
# File lib/flickrage/cli.rb, line 142
def collage
  cleanup if options['cleanup']
  try_keys_first
  init_flickraw

  pipeline.run
rescue Flickrage::NoKeysError, Flickrage::SearchError, Flickrage::DownloadError, Flickrage::CollageError,
       Flickrage::ResizeError, Flickrage::NumberError, Flickrage::PathError => e
  error_simple(e)
rescue => e
  error_with_backtrace(e)
end
error_simple(e) click to toggle source
# File lib/flickrage/cli.rb, line 171
def error_simple(e)
  logger.error e.message
  raise e if Flickrage.config.verbose
end
error_with_backtrace(e) click to toggle source
# File lib/flickrage/cli.rb, line 176
def error_with_backtrace(e)
  logger.error e.message
  backtrace(e) if Flickrage.config.verbose
  raise e
end
init_flickraw() click to toggle source
# File lib/flickrage/cli.rb, line 234
def init_flickraw
  FlickRaw.api_key       = Flickrage.config.flickr_api_key
  FlickRaw.shared_secret = Flickrage.config.flickr_shared_secret
end
pipeline() click to toggle source
# File lib/flickrage/cli.rb, line 182
def pipeline
  @pipeline ||= Pipeline.new(options)
end
set_logger() click to toggle source
# File lib/flickrage/cli.rb, line 224
def set_logger
  Flickrage.logger = Log.new(shell: shell)
end
setup_config() click to toggle source
# File lib/flickrage/cli.rb, line 195
def setup_config
  Flickrage.configure do |config|
    config.logger       = ::Logger.new(options['log']) if options['log']
    config.verbose      = options['verbose']
    config.quiet        = options['quiet']
    config.logger_level = Logger::DEBUG if config.verbose

    config.flickr_api_key       = options['flickr_api_key']       || ENV['FLICKR_API_KEY']
    config.flickr_shared_secret = options['flickr_shared_secret'] || ENV['FLICKR_SHARED_SECRET']

    config.dict_path = options['dict_path'] if options['dict_path']

    config.width  = options['width']  if options['width']
    config.height = options['height'] if options['height']

    config.grid   = options['grid'] if options['grid']
    config.output = options['output']

    config.tagged_search = options['tagged_search']
    config.search_params = options['params'] if options['params']

    config.max = options['max'] if options['max']
    if config.max < 3
      STDERR.puts('Minimal value of max is: 3')
      config.max = 3
    end
  end
end
try_keys_first() click to toggle source

Check for Flickr API keys

# File lib/flickrage/cli.rb, line 240
def try_keys_first
  logger.debug 'Checking Flickr Key\'s.'

  return if Flickrage.api_keys?
  raise Flickrage::NoKeysError, 'You must provide Flickr API credentials via --flickr-api-key, --flickr-shared-secret via options. or have it in the environment'
end
version() click to toggle source
# File lib/flickrage/cli.rb, line 166
def version
  puts Flickrage::VERSION
end