twitterpunch 0.0.4 → 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/bin/twitterpunch +10 -6
- data/lib/twitterpunch.rb +5 -1
- data/lib/twitterpunch/configuration.rb +8 -15
- data/lib/twitterpunch/streamer.rb +12 -3
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7cb13b290389bd6f3b20b57181852594cf5bfcd0
|
4
|
+
data.tar.gz: a23c5888916326fd00d7e5bf21d30659b43d9358
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1c47fa244a2615e42532731e7a5c56076ca4b885058bf66613e2836d86150684d960fcb9f8ffb1add623aea146e3f458b6b2696519b8206981c7f9327eccb939
|
7
|
+
data.tar.gz: 5e7893d78b0c84c6d804e5d091996edb3b689a306a2e48ade06a51379e56190be1a7f2a97d082b5282b62af10df0861922cce21808a763b0ecfa47b1cfef6b3d
|
data/bin/twitterpunch
CHANGED
@@ -12,19 +12,19 @@ configfile = File.expand_path('~/.twitterpunch.yaml')
|
|
12
12
|
config = YAML.load_file(configfile) rescue {}
|
13
13
|
|
14
14
|
optparse = OptionParser.new { |opts|
|
15
|
-
opts.banner = "Usage : twitterpunch [
|
15
|
+
opts.banner = "Usage : twitterpunch [options] [filename]
|
16
16
|
|
17
17
|
Twitterpunch is designed to work with PhotoBooth and OS X Folder Actions.
|
18
18
|
When this script is called with the name of an image file, it will post the
|
19
19
|
image to Twitter, along with a randomly chosen message and a hashtag.
|
20
20
|
|
21
21
|
If you call the script with the --stream argument instead, it will listen
|
22
|
-
for tweets to that hashtag and
|
23
|
-
|
22
|
+
for tweets to that hashtag and display them in a slideshow. If the tweet
|
23
|
+
came from another user, Twitterpunch will speak it aloud.
|
24
24
|
|
25
25
|
"
|
26
26
|
|
27
|
-
opts.on("-d", "--debug", "
|
27
|
+
opts.on("-d", "--debug", "Display extra debugging information.") do
|
28
28
|
config[:debug] = true
|
29
29
|
end
|
30
30
|
|
@@ -32,11 +32,15 @@ optparse = OptionParser.new { |opts|
|
|
32
32
|
config[:action] = :stream
|
33
33
|
end
|
34
34
|
|
35
|
-
opts.on("--view", "Run photo viewer only.") do
|
35
|
+
opts.on("--view", "Run photo slideshow viewer only.") do
|
36
36
|
config[:action] = :view
|
37
37
|
end
|
38
38
|
|
39
|
-
opts.on("-
|
39
|
+
opts.on("-a", "--authorize", "Authorize Twitterpunch with Twitter and write out a configuration file.") do
|
40
|
+
config[:action] = :configure
|
41
|
+
end
|
42
|
+
opts.on("-g", "--genconfig", "Deprecated config generation. Use --authorize instead.") do
|
43
|
+
puts 'NOTICE: [-g|--genconfig\ are deprecated. Please use --authorize instead'
|
40
44
|
config[:action] = :configure
|
41
45
|
end
|
42
46
|
|
data/lib/twitterpunch.rb
CHANGED
@@ -8,17 +8,9 @@ module Twitterpunch
|
|
8
8
|
def initialize(file)
|
9
9
|
@configfile = file
|
10
10
|
|
11
|
-
puts "Set up your application at https://twitter.com/apps/"
|
12
|
-
puts "then enter your 'Consumer key' and 'Consumer secret':"
|
13
|
-
|
14
|
-
print "Consumer key: "
|
15
|
-
@consumer_key = STDIN.readline.chomp
|
16
|
-
print "Consumer secret: "
|
17
|
-
@consumer_secret = STDIN.readline.chomp
|
18
|
-
|
19
11
|
consumer = OAuth::Consumer.new(
|
20
|
-
|
21
|
-
|
12
|
+
Twitterpunch::API_KEY,
|
13
|
+
Twitterpunch::API_SECRET,
|
22
14
|
{
|
23
15
|
:site => 'https://api.twitter.com/',
|
24
16
|
:scheme => :header,
|
@@ -26,7 +18,8 @@ module Twitterpunch
|
|
26
18
|
|
27
19
|
request_token = consumer.get_request_token
|
28
20
|
|
29
|
-
puts
|
21
|
+
puts 'Please authorize Twitterpunch to post to your Twitter account.'
|
22
|
+
puts "Visit #{request_token.authorize_url} in your browser."
|
30
23
|
# if we're on a Mac, open the page automatically
|
31
24
|
system("open #{request_token.authorize_url} 2>/dev/null")
|
32
25
|
|
@@ -40,10 +33,10 @@ module Twitterpunch
|
|
40
33
|
config = YAML.load_file(@configfile) rescue defaults
|
41
34
|
|
42
35
|
config[:twitter] = {
|
43
|
-
:consumer_key =>
|
44
|
-
:consumer_secret =>
|
45
|
-
:access_token =>
|
46
|
-
:access_token_secret =>
|
36
|
+
:consumer_key => Twitterpunch::API_KEY,
|
37
|
+
:consumer_secret => Twitterpunch::API_SECRET,
|
38
|
+
:access_token => @access_token.token,
|
39
|
+
:access_token_secret => @access_token.secret
|
47
40
|
}
|
48
41
|
|
49
42
|
File.open(@configfile, 'w') {|f| f.write(config.to_yaml) }
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'rubygems'
|
2
2
|
require 'yaml'
|
3
3
|
require 'twitter'
|
4
|
-
require
|
4
|
+
require 'net/http'
|
5
5
|
|
6
6
|
require 'twitterpunch/logger'
|
7
7
|
|
@@ -9,11 +9,20 @@ module Twitterpunch
|
|
9
9
|
class Streamer
|
10
10
|
def initialize(config)
|
11
11
|
@config = config
|
12
|
+
@viewer = config[:display]
|
12
13
|
@client = Twitter::Streaming::Client.new(config[:twitter])
|
13
14
|
@logger = Twitterpunch::Logger.new(config)
|
14
15
|
@output = File.expand_path(config[:photodir])
|
15
|
-
|
16
|
-
|
16
|
+
|
17
|
+
begin
|
18
|
+
@handle = Twitter::REST::Client.new(config[:twitter]).current_user.screen_name
|
19
|
+
rescue Twitter::Error => e
|
20
|
+
puts "Cannot retrieve Twitter username."
|
21
|
+
puts "It's likely that you're on Windows and your SSL environment isn't complete"
|
22
|
+
puts "Download http://curl.haxx.se/ca/cacert.pem and set the environment variable"
|
23
|
+
puts "SSL_CERT_FILE to point to it."
|
24
|
+
puts e.message
|
25
|
+
end
|
17
26
|
|
18
27
|
FileUtils.mkdir_p(@output) unless File.directory?(@output)
|
19
28
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: twitterpunch
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ben Ford
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-11-
|
11
|
+
date: 2014-11-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: twitter
|
@@ -131,13 +131,13 @@ files:
|
|
131
131
|
- LICENSE
|
132
132
|
- README.md
|
133
133
|
- bin/twitterpunch
|
134
|
-
- lib/twitterpunch.rb
|
135
134
|
- lib/twitterpunch/configuration.rb
|
136
135
|
- lib/twitterpunch/logger.rb
|
137
136
|
- lib/twitterpunch/poster.rb
|
138
137
|
- lib/twitterpunch/sprite.rb
|
139
138
|
- lib/twitterpunch/streamer.rb
|
140
139
|
- lib/twitterpunch/viewer.rb
|
140
|
+
- lib/twitterpunch.rb
|
141
141
|
- resources/Tahoma Bold.ttf
|
142
142
|
- resources/Twitterpunch.workflow/Contents/Info.plist
|
143
143
|
- resources/Twitterpunch.workflow/Contents/QuickLook/Thumbnail.png
|
@@ -172,7 +172,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
172
172
|
version: '0'
|
173
173
|
requirements: []
|
174
174
|
rubyforge_project:
|
175
|
-
rubygems_version: 2.
|
175
|
+
rubygems_version: 2.0.14
|
176
176
|
signing_key:
|
177
177
|
specification_version: 4
|
178
178
|
summary: A simple tool to automate the posting and streaming of PhotoBooth shots over
|