pirate-autosub 0.2.3 → 0.2.4

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.
Files changed (4) hide show
  1. data/Rakefile +2 -2
  2. data/autosub.gemspec +5 -2
  3. data/lib/sites/tvsubtitle.rb +10 -10
  4. metadata +11 -2
data/Rakefile CHANGED
@@ -3,14 +3,14 @@ require 'rubygems'
3
3
  require 'rake'
4
4
  require 'echoe'
5
5
 
6
- Echoe.new('autosub', '0.2.3') do |p|
6
+ Echoe.new('autosub', '0.2.4') do |p|
7
7
  p.description = "Ruby tool to automatically download subtitles (srt) inside your TV Shows folder"
8
8
  p.url = "http://github.com/pirate/autosub"
9
9
  p.author = "Pirate"
10
10
  p.email = "pirate.2061@gmail.com"
11
11
  p.ignore_pattern = ["tmp/*", "script/*"]
12
12
  p.executable_pattern = "bin/autosub"
13
- p.runtime_dependencies = ["hpricot", "rubyzip", "optiflag", "simple-rss"]
13
+ p.runtime_dependencies = ["hpricot", "rubyzip", "optiflag", "simple-rss", "mechanize"]
14
14
  end
15
15
 
16
16
  Dir["#{File.dirname(__FILE__)}/tasks/*.rake"].sort.each { |ext| load ext }
@@ -2,11 +2,11 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{autosub}
5
- s.version = "0.2.3"
5
+ s.version = "0.2.4"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Pirate"]
9
- s.date = %q{2008-12-29}
9
+ s.date = %q{2009-01-17}
10
10
  s.default_executable = %q{autosub}
11
11
  s.description = %q{Ruby tool to automatically download subtitles (srt) inside your TV Shows folder}
12
12
  s.email = %q{pirate.2061@gmail.com}
@@ -30,12 +30,14 @@ Gem::Specification.new do |s|
30
30
  s.add_runtime_dependency(%q<rubyzip>, [">= 0"])
31
31
  s.add_runtime_dependency(%q<optiflag>, [">= 0"])
32
32
  s.add_runtime_dependency(%q<simple-rss>, [">= 0"])
33
+ s.add_runtime_dependency(%q<mechanize>, [">= 0"])
33
34
  s.add_development_dependency(%q<echoe>, [">= 0"])
34
35
  else
35
36
  s.add_dependency(%q<hpricot>, [">= 0"])
36
37
  s.add_dependency(%q<rubyzip>, [">= 0"])
37
38
  s.add_dependency(%q<optiflag>, [">= 0"])
38
39
  s.add_dependency(%q<simple-rss>, [">= 0"])
40
+ s.add_dependency(%q<mechanize>, [">= 0"])
39
41
  s.add_dependency(%q<echoe>, [">= 0"])
40
42
  end
41
43
  else
@@ -43,6 +45,7 @@ Gem::Specification.new do |s|
43
45
  s.add_dependency(%q<rubyzip>, [">= 0"])
44
46
  s.add_dependency(%q<optiflag>, [">= 0"])
45
47
  s.add_dependency(%q<simple-rss>, [">= 0"])
48
+ s.add_dependency(%q<mechanize>, [">= 0"])
46
49
  s.add_dependency(%q<echoe>, [">= 0"])
47
50
  end
48
51
  end
@@ -2,6 +2,7 @@ require 'simple-rss'
2
2
  require 'open-uri'
3
3
  require 'zip/zip'
4
4
  require 'cgi'
5
+ require 'mechanize'
5
6
 
6
7
  # http://www.tvsubtitles.net/
7
8
  class TVSubtitle
@@ -30,18 +31,13 @@ class TVSubtitle
30
31
  end
31
32
 
32
33
  private
33
-
34
- def srt_link(item)
35
- id = item.link.match(/([0-9]+)/)[1]
36
- http = Net::HTTP.new('www.tvsubtitles.net')
37
- resp, data = http.get("/download-#{id}.html")
38
- "http://www.tvsubtitles.net/#{resp.response['Location'].gsub(/\s/, '%20')}"
39
- end
40
-
34
+
41
35
  def download_srt(item, episode, lang)
42
- url = srt_link(item)
36
+ agent = WWW::Mechanize.new
37
+ id = item_id(item)
43
38
  Tempfile.open("srt") do |tempfile|
44
- tempfile.write(open(url).read) # download the srt
39
+ agent.get("http://www.tvsubtitles.net/subtitle-#{id}.html") # set cookie
40
+ tempfile.write(agent.get_file("http://www.tvsubtitles.net/download-#{id}.html")) # download the srt
45
41
  tempfile.close
46
42
  Zip::ZipFile.open(tempfile.path) do |zip_file|
47
43
  zip_file.each do |f|
@@ -67,4 +63,8 @@ private
67
63
  "#{item.title} #{item.description.include?('720p') ? 'hd' : 'sd'}".downcase
68
64
  end
69
65
 
66
+ def item_id(item)
67
+ item.link.match(/([0-9]+)/)[1]
68
+ end
69
+
70
70
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pirate-autosub
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pirate
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-12-29 00:00:00 -08:00
12
+ date: 2009-01-17 00:00:00 -08:00
13
13
  default_executable: autosub
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -48,6 +48,15 @@ dependencies:
48
48
  - !ruby/object:Gem::Version
49
49
  version: "0"
50
50
  version:
51
+ - !ruby/object:Gem::Dependency
52
+ name: mechanize
53
+ version_requirement:
54
+ version_requirements: !ruby/object:Gem::Requirement
55
+ requirements:
56
+ - - ">="
57
+ - !ruby/object:Gem::Version
58
+ version: "0"
59
+ version:
51
60
  - !ruby/object:Gem::Dependency
52
61
  name: echoe
53
62
  version_requirement: