Sha256: d5c0743f964ba62b555cc81404f3797f667ef3c00a7b2cce503a31b1709a5ebe
Contents?: true
Size: 1.78 KB
Versions: 1
Compression:
Stored size: 1.78 KB
Contents
#!/usr/bin/env ruby require 'twitter' require 'httparty' require File.join(File.expand_path(File.dirname(__FILE__)), "..", "lib", "instafavs") $verbose = false def verbose(msg, level=1) if $verbose puts "* #{msg}" if level == 1 puts " -> #{msg}" if level == 2 end end def send_links_from_fav_tweets_to_instapaper Instafavs::Config.load! last_update_run_at = Instafavs::Config.last_update_run_at this_update_run_at = Time.now.utc twitter_username = Instafavs::Config.twitter_username favourites = Instafavs.new_favourites_in_period(twitter_username, last_update_run_at, this_update_run_at) verbose("found #{favourites.size} latest favourites for user #{twitter_username}") favourites.each_with_index do |f, i| verbose("scanning #{f.text} for urls to extract") f.text.scan(%r{http(?:s?)://[^ ]+}).each do |url| verbose("found #{url}, sending to instapaper", 2) HTTParty.post("https://www.instapaper.com/api/add", :query => { :url => url, :username => Instafavs::Config.instapaper_username, :password => Instafavs::Config.instapaper_password }) end end verbose("updating last run at timestamp") Instafavs::Config.last_update_run_at!(this_update_run_at) end def collect_config_info config = {} %w(twitter_username instapaper_username instapaper_password).each do |needed_value| while config[needed_value].nil? || config[needed_value] == "" print "#{needed_value.sub(/_/, " ").capitalize}: " config[needed_value] = gets.strip end end config end options = Instafavs::parse_cmd_line_options! $verbose = options[:verbose] if options[:configure] Instafavs::Config.save!(collect_config_info) puts "Configuration saved successfully." else send_links_from_fav_tweets_to_instapaper end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
instafavs-0.0.4 | bin/instafavs |