forked from codingjester/tumblr_client
/
tumblr
executable file
·80 lines (60 loc) · 2.06 KB
/
tumblr
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#!/usr/bin/env ruby
$:.unshift File.join File.dirname(__FILE__), '..', 'lib'
require 'rubygems'
require 'tumblr_client'
require 'oauth'
require 'yaml'
require 'irb'
require 'irb/completion'
path = File.join ENV['HOME'], '.tumblr'
host = Tumblr::Client.default_api_host.dup
host.gsub! 'api.', 'www.'
if File.exist?(path)
# Load configuration from data
configuration = YAML.load_file path
Tumblr.configure do |config|
Tumblr::Config::VALID_OPTIONS_KEYS.each do |key|
config.send(:"#{key}=", configuration[key.to_s])
end
end
else
Tumblr.configure do |config|
puts "Register an application at: http://#{host}/oauth/apps"
print 'OAuth Consumer key: '
config.consumer_key = gets.chomp
print 'OAuth Consumer secret: '
config.consumer_secret = gets.chomp
site = "http://#{host}"
consumer = OAuth::Consumer.new(config.consumer_key, config.consumer_secret, :site => site)
request_token = consumer.get_request_token :exclude_callback => true
puts
puts request_token.authorize_url
puts "Post-redirect, copy the oauth_verifier"
print 'OAuth Verifier: '
verifier = gets.chomp
access_token = request_token.get_access_token :oauth_verifier => verifier
config.oauth_token = access_token.token
config.oauth_token_secret = access_token.secret
end
# Save credentials
File.open(path, 'w') do |f|
configuration = {}
Tumblr::Config::VALID_OPTIONS_KEYS.each do |key|
configuration[key.to_s] = Tumblr.send(key)
end
f.write YAML.dump configuration
end
end
ENV['IRBRC'] = '.irbrc' if File.exists? '.irbrc'
puts %q[
. .o8 oooo
.o8 "888 `888
.o888oo oooo oooo ooo. .oo. .oo. 888oooo. 888 oooo d8b
888 `888 `888 `888P"Y88bP"Y88b d88' `88b 888 `888""8P
888 888 888 888 888 888 888 888 888 888
888 . 888 888 888 888 888 888 888 888 888 .o.
"888" `V88V"V8P' o888o o888o o888o `Y8bod8P' o888o d888b Y8P
]
ARGV.clear
IRB.start
exit!