tweetlr 0.1.4pre → 0.1.4pre2

Sign up to get free protection for your applications and to get access to all the features.
data/lib/tweetlr.rb CHANGED
@@ -1,3 +1,4 @@
1
+ # encode: UTF-8
1
2
  require 'logger'
2
3
  require 'yaml'
3
4
  require 'curb'
@@ -5,7 +6,7 @@ require 'json'
5
6
 
6
7
  class Tweetlr
7
8
 
8
- VERSION = '0.1.4pre'
9
+ VERSION = '0.1.4pre2'
9
10
  GENERATOR = %{tweetlr - http://github.com/5v3n/tweetlr}
10
11
  USER_AGENT = %{Mozilla/5.0 (compatible; tweetlr/#{VERSION}; +http://github.com/5v3n/tweetlr/wiki)}
11
12
  LOCATION_START_INDICATOR = 'Location: '
@@ -248,8 +249,12 @@ class Tweetlr
248
249
  begin
249
250
  JSON.parse curl.body_str
250
251
  rescue JSON::ParserError => err
251
- @log.warn "#{err}: Could not parse response for #{request} - this is probably not a json response: #{curl.body_str}"
252
- return nil
252
+ begin
253
+ @log.warn "#{err}: Could not parse response for #{request} - this is probably not a json response: #{curl.body_str}"
254
+ return nil
255
+ rescue Encoding::CompatibilityError => err
256
+ @log.error "Trying to rescue a JSON::ParserError for '#{requet}' we got stuck in a Encoding::CompatibilityError."
257
+ end
253
258
  end
254
259
  rescue Curl::Err::ConnectionFailedError => err
255
260
  @log.error "Connection failed: #{err}"
data/spec/tweetlr_spec.rb CHANGED
@@ -73,6 +73,9 @@ describe Tweetlr do
73
73
  it "should not crash if embedly fallback won't find a link" do
74
74
  url = @tweetlr.find_image_url "http://mopskopf"
75
75
  end
76
+ it "should not crash with an encoding error when instagram says 'No URL Match'" do
77
+ url = @tweetlr.find_image_url "http://api.instagram.com/oembed?url=http://instagr.am/p/Gx%E2%80%946/"
78
+ end
76
79
  end
77
80
  describe "tweet api response processing" do
78
81
  it "should extract links" do
@@ -83,6 +86,7 @@ describe Tweetlr do
83
86
  link.should == @links[:instagram].chop
84
87
  end
85
88
  end
89
+
86
90
  def check_pic_url_extraction(service)
87
91
  tweetlr = @tweetlr
88
92
  image_url = tweetlr.send "image_url_#{service}".to_sym, @links[service]
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.4pre"
3
+ s.version = "0.1.4pre2"
4
4
  s.author = "Sven Kraeuter"
5
5
  s.email = "mail@svenkraeuter.com"
6
6
  s.homepage = "http://github.com/5v3n/#{s.name}"
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.4pre
4
+ version: 0.1.4pre2
5
5
  prerelease: 5
6
6
  platform: ruby
7
7
  authors:
@@ -9,12 +9,12 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-06-20 00:00:00.000000000 +02:00
12
+ date: 2011-07-16 00:00:00.000000000 +02:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: daemons
17
- requirement: &2153442240 !ruby/object:Gem::Requirement
17
+ requirement: &2153676500 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ~>
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: 1.1.3
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *2153442240
25
+ version_requirements: *2153676500
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: eventmachine
28
- requirement: &2153441740 !ruby/object:Gem::Requirement
28
+ requirement: &2153676000 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ~>
@@ -33,10 +33,10 @@ dependencies:
33
33
  version: 0.12.10
34
34
  type: :runtime
35
35
  prerelease: false
36
- version_requirements: *2153441740
36
+ version_requirements: *2153676000
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: curb
39
- requirement: &2153441280 !ruby/object:Gem::Requirement
39
+ requirement: &2153675540 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
42
  - - ~>
@@ -44,10 +44,10 @@ dependencies:
44
44
  version: 0.7.15
45
45
  type: :runtime
46
46
  prerelease: false
47
- version_requirements: *2153441280
47
+ version_requirements: *2153675540
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: json
50
- requirement: &2153440820 !ruby/object:Gem::Requirement
50
+ requirement: &2153675080 !ruby/object:Gem::Requirement
51
51
  none: false
52
52
  requirements:
53
53
  - - ~>
@@ -55,10 +55,10 @@ dependencies:
55
55
  version: 1.5.1
56
56
  type: :runtime
57
57
  prerelease: false
58
- version_requirements: *2153440820
58
+ version_requirements: *2153675080
59
59
  - !ruby/object:Gem::Dependency
60
60
  name: rspec
61
- requirement: &2153440360 !ruby/object:Gem::Requirement
61
+ requirement: &2153674620 !ruby/object:Gem::Requirement
62
62
  none: false
63
63
  requirements:
64
64
  - - ~>
@@ -66,10 +66,10 @@ dependencies:
66
66
  version: 2.6.0
67
67
  type: :development
68
68
  prerelease: false
69
- version_requirements: *2153440360
69
+ version_requirements: *2153674620
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: autotest
72
- requirement: &2153439900 !ruby/object:Gem::Requirement
72
+ requirement: &2153674160 !ruby/object:Gem::Requirement
73
73
  none: false
74
74
  requirements:
75
75
  - - ~>
@@ -77,10 +77,10 @@ dependencies:
77
77
  version: 4.4.6
78
78
  type: :development
79
79
  prerelease: false
80
- version_requirements: *2153439900
80
+ version_requirements: *2153674160
81
81
  - !ruby/object:Gem::Dependency
82
82
  name: autotest-growl
83
- requirement: &2153439440 !ruby/object:Gem::Requirement
83
+ requirement: &2153673700 !ruby/object:Gem::Requirement
84
84
  none: false
85
85
  requirements:
86
86
  - - ~>
@@ -88,10 +88,10 @@ dependencies:
88
88
  version: 0.2.9
89
89
  type: :development
90
90
  prerelease: false
91
- version_requirements: *2153439440
91
+ version_requirements: *2153673700
92
92
  - !ruby/object:Gem::Dependency
93
93
  name: autotest-fsevent
94
- requirement: &2153438980 !ruby/object:Gem::Requirement
94
+ requirement: &2153673240 !ruby/object:Gem::Requirement
95
95
  none: false
96
96
  requirements:
97
97
  - - ~>
@@ -99,10 +99,10 @@ dependencies:
99
99
  version: 0.2.5
100
100
  type: :development
101
101
  prerelease: false
102
- version_requirements: *2153438980
102
+ version_requirements: *2153673240
103
103
  - !ruby/object:Gem::Dependency
104
104
  name: rdoc
105
- requirement: &2153461120 !ruby/object:Gem::Requirement
105
+ requirement: &2153672860 !ruby/object:Gem::Requirement
106
106
  none: false
107
107
  requirements:
108
108
  - - ! '>='
@@ -110,7 +110,7 @@ dependencies:
110
110
  version: '0'
111
111
  type: :development
112
112
  prerelease: false
113
- version_requirements: *2153461120
113
+ version_requirements: *2153672860
114
114
  description: tweetlr crawls twitter for a given term, extracts photos out of the collected
115
115
  tweets' short urls and posts the images to tumblr.
116
116
  email: mail@svenkraeuter.com