tweetlr 0.1.15 → 0.1.16
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.
- data/README.md +3 -1
- data/lib/processors/photo_service.rb +8 -0
- data/lib/tweetlr.rb +1 -1
- data/spec/processors/photo_services_processor_spec.rb +2 -1
- data/spec/spec_helper.rb +30 -0
- data/tweetlr.gemspec +1 -1
- metadata +18 -18
data/README.md
CHANGED
@@ -26,6 +26,7 @@ module Processors
|
|
26
26
|
url = image_url_yfrog link if link.index 'yfrog'
|
27
27
|
url = image_url_imgly link if link.index 'img.ly'
|
28
28
|
url = image_url_tco link, embedly_key if link.index 't.co'
|
29
|
+
url = image_url_twimg link if link.index 'twitter.com'
|
29
30
|
url = image_url_lockerz link if link.index 'lockerz.com'
|
30
31
|
url = image_url_path link if link.index 'path.com'
|
31
32
|
url = image_url_foursqaure link if link.index '4sq.com'
|
@@ -39,6 +40,13 @@ module Processors
|
|
39
40
|
def self.photo?(link)
|
40
41
|
link =~ PIC_REGEXP
|
41
42
|
end
|
43
|
+
def self.image_url_twimg(link_url)
|
44
|
+
service_url = link_url_redirect link_url #follow possible redirects
|
45
|
+
link_url = service_url if service_url #if there's no redirect, service_url will be nil
|
46
|
+
response = Processors::Http::http_get(link_url)
|
47
|
+
image_url = parse_html_for '.twimg img', Nokogiri::HTML.parse(response.body_str)
|
48
|
+
return image_url
|
49
|
+
end
|
42
50
|
#extract the image of an eyeem.com pic
|
43
51
|
def self.image_url_eyeem(link_url)
|
44
52
|
service_url = link_url_redirect link_url #follow possible redirects
|
data/lib/tweetlr.rb
CHANGED
@@ -3,6 +3,7 @@ require 'spec_helper'
|
|
3
3
|
describe Processors::PhotoService do
|
4
4
|
before :each do
|
5
5
|
@links = {
|
6
|
+
:twimg => 'http://twitter.com/KSilbereisen/status/228035435237097472',
|
6
7
|
:eyeem => 'http://www.eyeem.com/p/326629',
|
7
8
|
:foursquare => 'http://4sq.com/x4p87N',
|
8
9
|
:path => 'http://path.com/p/KQd57',
|
@@ -38,7 +39,7 @@ describe Processors::PhotoService do
|
|
38
39
|
send "stub_#{service}"
|
39
40
|
url = Processors::PhotoService::find_image_url link
|
40
41
|
url.should be, "service #{service} not working!"
|
41
|
-
check_pic_url_extraction service if [:instagram,:picplz,:yfrog,:imgly,:foursqaure,:not_listed].index service
|
42
|
+
check_pic_url_extraction service if [:twimg, :instagram,:picplz,:yfrog,:imgly,:foursqaure,:not_listed].index service
|
42
43
|
end
|
43
44
|
end
|
44
45
|
it "finds path images for redirected moments as well" do
|
data/spec/spec_helper.rb
CHANGED
@@ -35,6 +35,36 @@ def stub_twitter
|
|
35
35
|
Curl::Easy.any_instance.stub(:perform).and_return Curl::Easy.new
|
36
36
|
end
|
37
37
|
|
38
|
+
def stub_twimg
|
39
|
+
Curl::Easy.any_instance.stub(:body_str).and_return %|<div class="entities-media-container " style="min-height:580px">
|
40
|
+
<div class="tweet-media">
|
41
|
+
<div class="media-instance-container">
|
42
|
+
<div class="twimg">
|
43
|
+
<a target="_blank" href="http://twitter.com/KSilbereisen/status/228042798161596416/photo/1/large">
|
44
|
+
<img src="https://p.twimg.com/Ayort3pCEAAHRrz.jpg">
|
45
|
+
</a>
|
46
|
+
</div>
|
47
|
+
<span class="flag-container">
|
48
|
+
<button type="button" class="flaggable btn-link">
|
49
|
+
Flag this media
|
50
|
+
</button>
|
51
|
+
<span class="flagged hidden">
|
52
|
+
Flagged
|
53
|
+
<span>
|
54
|
+
<a target="_blank" href="//support.twitter.com/articles/20069937">
|
55
|
+
(learn more)
|
56
|
+
</a>
|
57
|
+
</span>
|
58
|
+
</span>
|
59
|
+
</span>
|
60
|
+
<div class="media-attribution">
|
61
|
+
<span>powered by</span> <img src="/phoenix/img/turkey-icon.png"> <a target="_blank" data-media-type="Twimg" class="media-attribution-link" href="http://photobucket.com/twitter">Photobucket</a>
|
62
|
+
</div>
|
63
|
+
</div>
|
64
|
+
</div> </div>|
|
65
|
+
Curl::Easy.any_instance.stub(:perform).and_return Curl::Easy.new
|
66
|
+
end
|
67
|
+
|
38
68
|
def stub_twitter_pics
|
39
69
|
Curl::Easy.any_instance.stub(:body_str).and_return %|{"url": "http://pic.twitter.com/stubbedpic.jpg:large"}|
|
40
70
|
Curl::Easy.any_instance.stub(:perform).and_return Curl::Easy.new
|
data/tweetlr.gemspec
CHANGED
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.
|
4
|
+
version: 0.1.16
|
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-
|
12
|
+
date: 2012-07-25 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: daemons
|
16
|
-
requirement: &
|
16
|
+
requirement: &2160489240 !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: *
|
24
|
+
version_requirements: *2160489240
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: eventmachine
|
27
|
-
requirement: &
|
27
|
+
requirement: &2160488760 !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: *
|
35
|
+
version_requirements: *2160488760
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: curb
|
38
|
-
requirement: &
|
38
|
+
requirement: &2160488200 !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: *
|
46
|
+
version_requirements: *2160488200
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: json
|
49
|
-
requirement: &
|
49
|
+
requirement: &2160487780 !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: *
|
57
|
+
version_requirements: *2160487780
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: nokogiri
|
60
|
-
requirement: &
|
60
|
+
requirement: &2160487220 !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: *
|
68
|
+
version_requirements: *2160487220
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rake
|
71
|
-
requirement: &
|
71
|
+
requirement: &2160486800 !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: *
|
79
|
+
version_requirements: *2160486800
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: rspec
|
82
|
-
requirement: &
|
82
|
+
requirement: &2160486380 !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: *
|
90
|
+
version_requirements: *2160486380
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
92
|
name: rdoc
|
93
|
-
requirement: &
|
93
|
+
requirement: &2160485960 !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: *
|
101
|
+
version_requirements: *2160485960
|
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
|