tweetlr 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. data/README.md +3 -1
  2. data/Rakefile +5 -5
  3. data/lib/tweetlr.rb +13 -3
  4. 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
- - tco shortened links to pictures
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 'rake/gempackagetask'
5
- require 'rake/rdoctask'
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.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
- Rake::GemPackageTask.new(spec) do |p|
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
- Rake::RDocTask.new do |rdoc|
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
- res = Curl::Easy.http_get(request)
232
- JSON.parse res.body_str
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
- date: 2011-06-02 00:00:00 Z
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
- prerelease: false
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: "0"
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
- requirement: &id002 !ruby/object:Gem::Requirement
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: "0"
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
- requirement: &id003 !ruby/object:Gem::Requirement
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: "0"
41
+ requirements:
42
+ - - ! '>='
43
+ - !ruby/object:Gem::Version
44
+ version: '0'
46
45
  type: :runtime
47
- version_requirements: *id003
48
- description: tweetlr crawls twitter for a given term, extracts photos out of the collected tweets' short urls and posts the images to tumblr.
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: "0"
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: "0"
78
+ requirements:
79
+ - - ! '>='
80
+ - !ruby/object:Gem::Version
81
+ version: '0'
83
82
  requirements: []
84
-
85
83
  rubyforge_project:
86
- rubygems_version: 1.7.2
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 tweets' short urls and posts the images to tumblr.
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
-