Sha256: 3a4ec6f57bf205060350232fc65d9a062668b32da9d4a1e3897246416ec49e28

Contents?: true

Size: 1.59 KB

Versions: 3

Compression:

Stored size: 1.59 KB

Contents

#!/bin/env ruby

begin
  load 'lib/rrimm.rb'
rescue LoadError
  require 'rrimm'
end

require 'optparse'

options = {
  'action' => :sync,
  'conf_file' => File.join(ENV['HOME'], '.config', 'rrimm', 'rrimm.rb'),
}

OptionParser.new do |opts|
  opts.banner = "Usage: rrimm "
  opts.on('-c', '--config [file]',
          'configuration file used by rrimm') do |conf_file|
    options['conf_file'] = conf_file
  end

  opts.on('-C', '--concurrency N',
          'concurrency level to fetch feeds. Default 1') do |c|
    options['concurrency'] = c.to_i
  end

  opts.on('-q', '--quiet',
          'Activate quiet mode, will only print errors') do
    options['quiet'] = true
  end

  opts.on('--category CATEGORY',
          'Run action only on one category"') do |cat|
    options['category'] = cat
  end

  opts.on('-a', '--action [action]', [:sync, :show, :status],
          'Specify what to do: "sync" feeds, "show" config, display feed "status"') do |action|
    options['action'] = action
  end

  opts.on_tail("-h", "--help", "You know what it does") do
    puts opts
    exit
  end
end.parse!(ARGV)



conf = RRImm::Config.new
conf.load(options['conf_file'])

fetcher = RRImm::Fetcher.new(conf)
IO.open STDOUT.fileno do |ios|
  case options['action']
  when :sync
    fetcher.fetch(options['concurrency'], options['quiet'], options['category'])
  when :show
    conf.show(ios, options['category'])
  when :status
    one_month = 30 * 86400
    one_month_ago = Time.now.to_i - one_month
    six_months_ago = Time.now.to_i - 6 * one_month

    conf.status(ios, one_month_ago, six_months_ago, false, options['category'])
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
rrimm-0.12.1 bin/rrimm
rrimm-0.12.0 bin/rrimm
rrimm-0.11.0 bin/rrimm