tweetlr 0.1.14 → 0.1.15

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -40,6 +40,7 @@ api_endpoint_twitter: 'http://search.twitter.com/search.json'
40
40
  api_endpoint_tumblr: 'http://www.tumblr.com'
41
41
  tumblr_username: YOUR_TUMBLR_EMAIL
42
42
  tumblr_password: YOUR_TUMBLR_PW
43
+ group: TUMBLR_GROUP_TO_POST_TO #e.g. mysubblog.tumblr.com
43
44
  embedly_key: '' #tweetlr uses http://embedly.com for link processing. a free plan containing an api key is available & recommended to use in order to ensure full support
44
45
  update_period: 300 #check for updates every 300 secs = 5 minutes
45
46
  shouts: 'says' # will be concatenated after the username, before the message: @mr_x says: awesome things on a photo!
data/bin/tweetlr CHANGED
@@ -25,6 +25,7 @@ begin
25
25
  @tweetlr_config = {
26
26
  :tumblr_email => CONFIG['tumblr_username'],
27
27
  :tumblr_password => CONFIG['tumblr_password'],
28
+ :group => CONFIG['group'],
28
29
  :whitelist => CONFIG['whitelist'],
29
30
  :shouts => CONFIG['shouts'],
30
31
  :since_id => CONFIG['start_at_tweet_id'] ,
@@ -32,6 +32,7 @@ module Combinators
32
32
  if !Processors::Twitter::retweet? message
33
33
  log.debug "tweet: #{tweet}"
34
34
  tumblr_post = {}
35
+ tumblr_post[:group] = options[:group]
35
36
  tumblr_post[:type] = 'photo'
36
37
  tumblr_post[:date] = tweet['created_at']
37
38
  tumblr_post[:source] = extract_image_url tweet, options[:embedly_key]
@@ -13,11 +13,12 @@ module Processors
13
13
  #
14
14
  #required arguments are :email, :password, :type, :date, :source, :caption, :state, :source
15
15
  #
16
- #optional arguments: :api_endpoint_tumblr, :tags
16
+ #optional arguments: :api_endpoint_tumblr, :tags, :group
17
17
  #
18
18
  def self.post(options={})
19
19
  tries = 3
20
- tags = options[:tags]
20
+ tags = options[:tags] || ''
21
+ group = options[:group] || ''
21
22
  begin
22
23
  response = Curl::Easy.http_post("#{options[:api_endpoint_tumblr] || API_ENDPOINT_TUMBLR}/api/write",
23
24
  Curl::PostField.content('generator', GENERATOR),
@@ -28,7 +29,8 @@ module Processors
28
29
  Curl::PostField.content('source', options[:source]),
29
30
  Curl::PostField.content('caption', options[:caption]),
30
31
  Curl::PostField.content('state', options[:state]),
31
- Curl::PostField.content('tags', tags)
32
+ Curl::PostField.content('tags', tags),
33
+ Curl::PostField.content('group', group)
32
34
  )
33
35
  rescue Curl::Err::CurlError => err
34
36
  log.error "Failure in Curl call: #{err}"
data/lib/tweetlr.rb CHANGED
@@ -9,7 +9,7 @@ require 'uri'
9
9
 
10
10
  class Tweetlr
11
11
 
12
- VERSION = '0.1.13'
12
+ VERSION = '0.1.15'
13
13
 
14
14
  API_ENDPOINT_TWITTER = 'http://search.twitter.com/search.json'
15
15
  API_ENDPOINT_TUMBLR = 'http://www.tumblr.com'
@@ -61,7 +61,7 @@ class Tweetlr
61
61
  tweets = response['results']
62
62
  if tweets
63
63
  tweets.each do |tweet|
64
- tumblr_post = Combinators::TwitterTumblr::generate_photo_post_from_tweet(tweet, {:whitelist => config[:whitelist], :embedly_key => config[:embedly_key]})
64
+ tumblr_post = Combinators::TwitterTumblr::generate_photo_post_from_tweet(tweet, {:whitelist => config[:whitelist], :embedly_key => config[:embedly_key], :group => config[:group]})
65
65
  if tumblr_post.nil? || tumblr_post[:source].nil?
66
66
  log.warn "could not get image source: tweet: #{tweet} --- tumblr post: #{tumblr_post.inspect}"
67
67
  else
@@ -95,4 +95,17 @@ describe Combinators::TwitterTumblr do
95
95
  post.should_not be
96
96
  end
97
97
  end
98
+ context "copes with different tumblelogs namely" do
99
+ it "uses the main blog as default" do
100
+ stub_instagram
101
+ tumblr_post = Combinators::TwitterTumblr.generate_photo_post_from_tweet @twitter_response, :whitelist => @whitelist
102
+ tumblr_post[:group].should_not be
103
+ end
104
+ it "uses a given sub-log (aka group)" do
105
+ stub_instagram
106
+ desired_group = 'mygroup.tumblr.com'
107
+ tumblr_post = Combinators::TwitterTumblr.generate_photo_post_from_tweet @twitter_response, {:whitelist => @whitelist, :group => desired_group}
108
+ tumblr_post[:group].should eq desired_group
109
+ end
110
+ end
98
111
  end
data/tweetlr.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "tweetlr"
3
- s.version = "0.1.14"
3
+ s.version = "0.1.15"
4
4
  s.author = "Sven Kraeuter"
5
5
  s.email = "sven.kraeuter@gmail.com"
6
6
  s.homepage = "http://tweetlr.5v3n.com"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tweetlr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.14
4
+ version: 0.1.15
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-04-15 00:00:00.000000000 Z
12
+ date: 2012-06-24 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: daemons
16
- requirement: &2156435720 !ruby/object:Gem::Requirement
16
+ requirement: &2160515000 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *2156435720
24
+ version_requirements: *2160515000
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: eventmachine
27
- requirement: &2156435200 !ruby/object:Gem::Requirement
27
+ requirement: &2160514500 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *2156435200
35
+ version_requirements: *2160514500
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: curb
38
- requirement: &2156434700 !ruby/object:Gem::Requirement
38
+ requirement: &2160514020 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *2156434700
46
+ version_requirements: *2160514020
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: json
49
- requirement: &2156434200 !ruby/object:Gem::Requirement
49
+ requirement: &2160513600 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *2156434200
57
+ version_requirements: *2160513600
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: nokogiri
60
- requirement: &2156433720 !ruby/object:Gem::Requirement
60
+ requirement: &2160513180 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: '0'
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *2156433720
68
+ version_requirements: *2160513180
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rake
71
- requirement: &2156433220 !ruby/object:Gem::Requirement
71
+ requirement: &2160512640 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: '0'
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *2156433220
79
+ version_requirements: *2160512640
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: rspec
82
- requirement: &2156432400 !ruby/object:Gem::Requirement
82
+ requirement: &2160511780 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ! '>='
@@ -87,10 +87,10 @@ dependencies:
87
87
  version: '0'
88
88
  type: :development
89
89
  prerelease: false
90
- version_requirements: *2156432400
90
+ version_requirements: *2160511780
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: rdoc
93
- requirement: &2156431860 !ruby/object:Gem::Requirement
93
+ requirement: &2160511300 !ruby/object:Gem::Requirement
94
94
  none: false
95
95
  requirements:
96
96
  - - ! '>='
@@ -98,7 +98,7 @@ dependencies:
98
98
  version: '0'
99
99
  type: :development
100
100
  prerelease: false
101
- version_requirements: *2156431860
101
+ version_requirements: *2160511300
102
102
  description: tweetlr crawls twitter for a given term, extracts photos out of the collected
103
103
  tweets' short urls and posts the images to tumblr.
104
104
  email: sven.kraeuter@gmail.com