tweetlr 0.1.1 → 0.1.2
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/Rakefile +5 -5
- data/lib/tweetlr.rb +13 -3
- metadata +51 -53
data/README.md
CHANGED
@@ -5,13 +5,15 @@ tweetlr crawls twitter for a given term, extracts photos out of the collected tw
|
|
5
5
|
## Supported image sharing services
|
6
6
|
|
7
7
|
tweetlr supports
|
8
|
+
|
8
9
|
- instagram
|
9
10
|
- picplz
|
10
11
|
- twitpic
|
11
12
|
- yfrog
|
12
13
|
- imgly
|
13
14
|
- lockerz / the service formerly known as plixi
|
14
|
-
-
|
15
|
+
- foursquare
|
16
|
+
- t.co shortened links to pictures
|
15
17
|
|
16
18
|
## Installation
|
17
19
|
|
data/Rakefile
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
require 'rubygems'
|
2
2
|
require 'rake'
|
3
3
|
require 'rake/clean'
|
4
|
-
require '
|
5
|
-
require '
|
4
|
+
require 'rubygems/package_task'
|
5
|
+
require 'rdoc/task'
|
6
6
|
require 'rake/testtask'
|
7
7
|
|
8
8
|
spec = Gem::Specification.new do |s|
|
9
9
|
s.name = 'tweetlr'
|
10
|
-
s.version = '0.1.
|
10
|
+
s.version = '0.1.2'
|
11
11
|
s.has_rdoc = true
|
12
12
|
s.extra_rdoc_files = ['README.md', 'LICENSE']
|
13
13
|
s.summary = %{tweetlr crawls twitter for a given term, extracts photos out of the collected tweets' short urls and posts the images to tumblr.}
|
@@ -23,13 +23,13 @@ spec = Gem::Specification.new do |s|
|
|
23
23
|
s.add_dependency('curb')
|
24
24
|
end
|
25
25
|
|
26
|
-
|
26
|
+
Gem::PackageTask.new(spec) do |p|
|
27
27
|
p.gem_spec = spec
|
28
28
|
p.need_tar = true
|
29
29
|
p.need_zip = true
|
30
30
|
end
|
31
31
|
|
32
|
-
|
32
|
+
RDoc::Task.new do |rdoc|
|
33
33
|
files =['README.md', 'LICENSE', 'lib/**/*.rb']
|
34
34
|
rdoc.rdoc_files.add(files)
|
35
35
|
rdoc.main = "README.md" # page to start on
|
data/lib/tweetlr.rb
CHANGED
@@ -5,7 +5,9 @@ require 'json'
|
|
5
5
|
|
6
6
|
class Tweetlr
|
7
7
|
|
8
|
+
VERSION = '0.1.2'
|
8
9
|
GENERATOR = %{tweetlr - http://github.com/5v3n/tweetlr}
|
10
|
+
USER_AGENT = %{Mozilla/5.0 (compatible; tweetlr/#{VERSION};)}
|
9
11
|
LOCATION_START_INDICATOR = 'Location: '
|
10
12
|
LOCATION_STOP_INDICATOR = "\r\n"
|
11
13
|
|
@@ -141,9 +143,15 @@ class Tweetlr
|
|
141
143
|
url = image_url_imgly link if link.index 'img.ly'
|
142
144
|
url = image_url_tco link if link.index 't.co'
|
143
145
|
url = image_url_lockerz link if link.index 'lockerz.com'
|
146
|
+
url = image_url_foursquare link if link.index '4sq.com'
|
144
147
|
end
|
145
148
|
url
|
146
149
|
end
|
150
|
+
#find the image's url for a foursquare link
|
151
|
+
def image_url_foursquare(link_url)
|
152
|
+
response = http_get "http://api.embed.ly/1/oembed?url=#{link_url}"
|
153
|
+
response['url'] if response
|
154
|
+
end
|
147
155
|
#find the image's url for a lockerz link
|
148
156
|
def image_url_lockerz(link_url)
|
149
157
|
response = http_get "http://api.plixi.com/api/tpapi.svc/json/metadatafromurl?details=false&url=#{link_url}"
|
@@ -224,12 +232,14 @@ class Tweetlr
|
|
224
232
|
|
225
233
|
private
|
226
234
|
|
227
|
-
#convenience method for curl http get calls
|
235
|
+
#convenience method for curl http get calls and parsing them to json.
|
228
236
|
def http_get(request)
|
229
237
|
tries = 3
|
230
238
|
begin
|
231
|
-
|
232
|
-
|
239
|
+
curl = Curl::Easy.new request
|
240
|
+
curl.useragent = USER_AGENT
|
241
|
+
curl.perform
|
242
|
+
JSON.parse curl.body_str
|
233
243
|
rescue Curl::Err::ConnectionFailedError => err
|
234
244
|
@log.error "Connection failed: #{err}"
|
235
245
|
tries -= 1
|
metadata
CHANGED
@@ -1,91 +1,89 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: tweetlr
|
3
|
-
version: !ruby/object:Gem::Version
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.2
|
4
5
|
prerelease:
|
5
|
-
version: 0.1.1
|
6
6
|
platform: ruby
|
7
|
-
authors:
|
7
|
+
authors:
|
8
8
|
- Sven Kraeuter
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
dependencies:
|
15
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2011-06-06 00:00:00.000000000 +02:00
|
13
|
+
default_executable:
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
16
|
name: daemons
|
17
|
-
|
18
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
17
|
+
requirement: &2156428160 !ruby/object:Gem::Requirement
|
19
18
|
none: false
|
20
|
-
requirements:
|
21
|
-
- -
|
22
|
-
- !ruby/object:Gem::Version
|
23
|
-
version:
|
19
|
+
requirements:
|
20
|
+
- - ! '>='
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: '0'
|
24
23
|
type: :runtime
|
25
|
-
version_requirements: *id001
|
26
|
-
- !ruby/object:Gem::Dependency
|
27
|
-
name: eventmachine
|
28
24
|
prerelease: false
|
29
|
-
|
25
|
+
version_requirements: *2156428160
|
26
|
+
- !ruby/object:Gem::Dependency
|
27
|
+
name: eventmachine
|
28
|
+
requirement: &2156427180 !ruby/object:Gem::Requirement
|
30
29
|
none: false
|
31
|
-
requirements:
|
32
|
-
- -
|
33
|
-
- !ruby/object:Gem::Version
|
34
|
-
version:
|
30
|
+
requirements:
|
31
|
+
- - ! '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
35
34
|
type: :runtime
|
36
|
-
version_requirements: *id002
|
37
|
-
- !ruby/object:Gem::Dependency
|
38
|
-
name: curb
|
39
35
|
prerelease: false
|
40
|
-
|
36
|
+
version_requirements: *2156427180
|
37
|
+
- !ruby/object:Gem::Dependency
|
38
|
+
name: curb
|
39
|
+
requirement: &2156426180 !ruby/object:Gem::Requirement
|
41
40
|
none: false
|
42
|
-
requirements:
|
43
|
-
- -
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
version:
|
41
|
+
requirements:
|
42
|
+
- - ! '>='
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
version: '0'
|
46
45
|
type: :runtime
|
47
|
-
|
48
|
-
|
46
|
+
prerelease: false
|
47
|
+
version_requirements: *2156426180
|
48
|
+
description: tweetlr crawls twitter for a given term, extracts photos out of the collected
|
49
|
+
tweets' short urls and posts the images to tumblr.
|
49
50
|
email: mail@svenkraeuter.com
|
50
|
-
executables:
|
51
|
+
executables:
|
51
52
|
- tweetlr
|
52
53
|
extensions: []
|
53
|
-
|
54
|
-
extra_rdoc_files:
|
54
|
+
extra_rdoc_files:
|
55
55
|
- README.md
|
56
56
|
- LICENSE
|
57
|
-
files:
|
57
|
+
files:
|
58
58
|
- LICENSE
|
59
59
|
- README.md
|
60
60
|
- Rakefile
|
61
61
|
- bin/tweetlr
|
62
62
|
- lib/tweetlr.rb
|
63
|
+
has_rdoc: true
|
63
64
|
homepage: http://github.com/5v3n/tweetlr
|
64
65
|
licenses: []
|
65
|
-
|
66
66
|
post_install_message:
|
67
67
|
rdoc_options: []
|
68
|
-
|
69
|
-
require_paths:
|
68
|
+
require_paths:
|
70
69
|
- lib
|
71
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
70
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
72
71
|
none: false
|
73
|
-
requirements:
|
74
|
-
- -
|
75
|
-
- !ruby/object:Gem::Version
|
76
|
-
version:
|
77
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ! '>='
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
78
77
|
none: false
|
79
|
-
requirements:
|
80
|
-
- -
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version:
|
78
|
+
requirements:
|
79
|
+
- - ! '>='
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
version: '0'
|
83
82
|
requirements: []
|
84
|
-
|
85
83
|
rubyforge_project:
|
86
|
-
rubygems_version: 1.
|
84
|
+
rubygems_version: 1.6.2
|
87
85
|
signing_key:
|
88
86
|
specification_version: 3
|
89
|
-
summary: tweetlr crawls twitter for a given term, extracts photos out of the collected
|
87
|
+
summary: tweetlr crawls twitter for a given term, extracts photos out of the collected
|
88
|
+
tweets' short urls and posts the images to tumblr.
|
90
89
|
test_files: []
|
91
|
-
|