subtitle_it 2.0.0 → 2.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rspec +3 -0
- data/.travis.yml +21 -0
- data/Gemfile +10 -0
- data/Guardfile +16 -0
- data/{License.txt → MIT-LICENSE} +0 -0
- data/README.md +55 -45
- data/bin/subtitle_it +4 -2
- data/lib/subtitle_it/bin.rb +25 -14
- data/lib/subtitle_it/formats/mpl.rb +1 -1
- data/lib/subtitle_it/formats/rsb.rb +1 -1
- data/lib/subtitle_it/formats/sub.rb +1 -2
- data/lib/subtitle_it/subtitle.rb +17 -9
- data/lib/subtitle_it/version.rb +1 -1
- data/lib/subtitle_it.rb +5 -3
- data/spec/subtitle_it/bin_spec.rb +2 -2
- data/spec/subtitle_it/subdown_spec.rb +1 -1
- data/subtitle_it.gemspec +3 -5
- metadata +13 -39
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6618182f0ae7b04e5195693c1c65f7898b0d80b0
|
4
|
+
data.tar.gz: 4721ff41267fbb1c970e6b92c80e082357a37cfb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 65330e0721ba021eef2d7dd7446e09eb87c9da729af85c8f9da2128fced8a51e4983343cc8060cae0ee9cc6d552d05e7923b479df4a432b40df9a0c798f8ed3f
|
7
|
+
data.tar.gz: fbcebf4d10dd6194956d4e47d580c01ac22f909fea474deb357140f74e5c796801b510ee1a24adba8fb4e67ad71fbe99be373c438e9d6bdb9618027aa786c72a
|
data/.rspec
ADDED
data/.travis.yml
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
language: ruby
|
2
|
+
bundler_args: --without development
|
3
|
+
rvm:
|
4
|
+
- 1.9.3
|
5
|
+
- 2.2.2
|
6
|
+
- ruby-head
|
7
|
+
- jruby
|
8
|
+
- rbx-2
|
9
|
+
|
10
|
+
jdk:
|
11
|
+
- oraclejdk7
|
12
|
+
- openjdk7
|
13
|
+
|
14
|
+
env: CI="travis" JRUBY_OPTS="--2.0 --server -Xcompile.invokedynamic=false -J-XX:+TieredCompilation -J-XX:TieredStopAtLevel=1 -J-noverify -J-Xms512m -J-Xmx1024m"
|
15
|
+
|
16
|
+
matrix:
|
17
|
+
allow_failures:
|
18
|
+
- rvm: ruby-head
|
19
|
+
- rvm: jruby
|
20
|
+
|
21
|
+
env: CI="travis"
|
data/Gemfile
CHANGED
data/Guardfile
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
#
|
2
|
+
# Subtitle It
|
3
|
+
#
|
4
|
+
ignore(/\/.#.+/)
|
5
|
+
|
6
|
+
# notification :off
|
7
|
+
|
8
|
+
guard :rubocop, all_on_start: false, keep_failed: false, notification: false, cli: ['--format', 'emacs'] do
|
9
|
+
watch(/^lib\/(.+)\.rb$/)
|
10
|
+
end
|
11
|
+
|
12
|
+
guard :rspec, cmd: 'bundle exec rspec', notification: true do
|
13
|
+
watch(/^spec\/.+_spec\.rb$/)
|
14
|
+
watch(/^lib\/(.+)\.rb$/) { |m| "spec/#{m[1]}_spec.rb" }
|
15
|
+
watch('spec/spec_helper.rb') { 'spec' }
|
16
|
+
end
|
data/{License.txt → MIT-LICENSE}
RENAMED
File without changes
|
data/README.md
CHANGED
@@ -5,51 +5,83 @@
|
|
5
5
|
_(____/___(___(__(___/_(_ __/___(_ __/___(___ _ _/_ __(_ __
|
6
6
|
|
7
7
|
|
8
|
+
[![Gem Version](https://badge.fury.io/rb/subtitle_it.svg)](http://badge.fury.io/rb/subtitle_it)
|
9
|
+
[![Build Status](https://travis-ci.org/nofxx/subtitle_it.svg?branch=master)](https://travis-ci.org/nofxx/subtitle_it)
|
10
|
+
[![Dependency Status](https://gemnasium.com/nofxx/subtitle_it.svg)](https://gemnasium.com/nofxx/subtitle_it)
|
11
|
+
|
12
|
+
|
8
13
|
Ruby tool to download, create, convert and fix subtitles.
|
9
14
|
|
10
15
|
|
11
|
-
|
16
|
+
## Features
|
12
17
|
|
13
|
-
* Automatic Download on the terminal
|
18
|
+
* **Automatic Download** on the terminal
|
14
19
|
* To and from: SRT, SUB, XML(TT), YML, MPL2, RSB and ASS.
|
15
20
|
* Fixes delays. (SrtResync)
|
16
21
|
* Compatibility with "sube" (http://github.com/vic/sube)
|
22
|
+
* Detects and converts any encoding to `UTF-8`
|
17
23
|
|
18
24
|
|
19
|
-
|
25
|
+
## Synopsis
|
20
26
|
|
21
27
|
Download subtitle:
|
22
28
|
|
23
|
-
|
29
|
+
subtitle_it Cool-Video.avi
|
30
|
+
|
31
|
+
This will search all languages for the video.
|
32
|
+
|
33
|
+
```
|
34
|
+
Found 88 results:
|
35
|
+
|
36
|
+
1. Finnish | SRT | Movie / 2015 | 0.0 | FPS 23.976 | 1 CDs | 2015-05-18
|
37
|
+
2. English | SRT | Movie / 2015 | 0.0 | FPS 23.976 | 1 CDs | 2015-05-18
|
38
|
+
3. Romanian | SRT | Movie / 2015 | 0.0 | FPS 23.976 | 1 CDs | 2015-05-18
|
39
|
+
4. Polish | SRT | Movie / 2015 | 0.0 | FPS 23.976 | 1 CDs | 2015-05-18
|
40
|
+
5. Italian | SRT | Movie / 2015 | 0.0 | FPS 23.976 | 1 CDs | 2015-05-18
|
41
|
+
6. Portugues | SRT | Movie / 2015 | 0.0 | FPS 23.976 | 1 CDs | 2015-05-18
|
42
|
+
7. Bulgarian | SRT | Movie / 2015 | 0.0 | FPS 0.000 | 1 CDs | 2015-05-18
|
43
|
+
8. Romanian | SRT | Movie / 2015 | 0.0 | FPS 25.000 | 1 CDs | 2015-05-18
|
44
|
+
9. Japanese | SRT | Movie / 2015 | 0.0 | FPS 23.976 | 1 CDs | 2015-05-18
|
45
|
+
|
46
|
+
You can choose multiple ones separated with spaces: 1 3 5
|
47
|
+
Or a range separated with a hifen: 3-5
|
48
|
+
Choose (1..88): _
|
49
|
+
```
|
24
50
|
|
25
|
-
|
51
|
+
You can filter by language:
|
26
52
|
|
27
|
-
|
53
|
+
subtitle_it -l Eng Cool-Video.avi
|
28
54
|
|
29
55
|
You can use -c option. It convert subtitles to given format:
|
30
56
|
|
31
|
-
|
57
|
+
subtitle_it -l Eng -c srt Cool-Video.avi
|
32
58
|
|
33
|
-
|
59
|
+
### Bash tool
|
34
60
|
|
35
61
|
Convert a srt to sub:
|
36
|
-
|
37
|
-
|
38
|
-
|
62
|
+
|
63
|
+
subtitle_it in.srt out.sub
|
64
|
+
|
65
|
+
or
|
66
|
+
|
67
|
+
subtitle_it -c sub in.srt
|
39
68
|
|
40
69
|
Add a delay of 1 minute:
|
41
|
-
|
70
|
+
|
71
|
+
subtitle_it -d 60 in.srt
|
42
72
|
|
43
73
|
Create a template
|
44
|
-
|
74
|
+
|
75
|
+
subtitle_it unexistent.file
|
45
76
|
|
46
77
|
|
47
|
-
|
78
|
+
## Install
|
48
79
|
|
49
|
-
gem install subtitle_it
|
50
80
|
|
81
|
+
gem install subtitle_it
|
51
82
|
|
52
|
-
|
83
|
+
|
84
|
+
## The "Ruby Subtitle" Format - RSB
|
53
85
|
|
54
86
|
It`s just a easy way, proof of concept to edit subtitles.
|
55
87
|
Here is what it looks like:
|
@@ -67,14 +99,14 @@ Create a template to check it out.
|
|
67
99
|
## Automatic Download
|
68
100
|
|
69
101
|
* OpenSubtitles.org - WORK SubtitleIt Agent
|
70
|
-
* addic7ed.com -
|
102
|
+
* addic7ed.com - `gem install addic7ed`
|
71
103
|
* legendas.tv - EVIL NOAPI
|
72
104
|
|
73
105
|
|
74
106
|
*NOAPI = Mechanize playground...
|
75
107
|
|
76
108
|
|
77
|
-
##
|
109
|
+
## Dev
|
78
110
|
|
79
111
|
To run tests:
|
80
112
|
|
@@ -84,7 +116,11 @@ Documentation => doc
|
|
84
116
|
Subtitle examples => spec/fixtures
|
85
117
|
|
86
118
|
|
87
|
-
##
|
119
|
+
## Others
|
120
|
+
|
121
|
+
Series: https://github.com/michaelbaudino/addic7ed-ruby
|
122
|
+
|
123
|
+
## Editors
|
88
124
|
|
89
125
|
Try those nice editors too, if SubtitleIt does not fit your need:
|
90
126
|
|
@@ -105,29 +141,3 @@ Please visit:
|
|
105
141
|
|
106
142
|
* http://github.com/nofxx/subtitle_it
|
107
143
|
* Support http://www.podnapisi.net/
|
108
|
-
|
109
|
-
## LICENSE:
|
110
|
-
|
111
|
-
(The MIT License)
|
112
|
-
|
113
|
-
Copyright (c) 2008 Marcos Piccinini, Giovanni Rapagnani, Warlley Rezende
|
114
|
-
|
115
|
-
|
116
|
-
Permission is hereby granted, free of charge, to any person obtaining
|
117
|
-
a copy of this software and associated documentation files (the
|
118
|
-
'Software'), to deal in the Software without restriction, including
|
119
|
-
without limitation the rights to use, copy, modify, merge, publish,
|
120
|
-
distribute, sublicense, and/or sell copies of the Software, and to
|
121
|
-
permit persons to whom the Software is furnished to do so, subject to
|
122
|
-
the following conditions:
|
123
|
-
|
124
|
-
The above copyright notice and this permission notice shall be
|
125
|
-
included in all copies or substantial portions of the Software.
|
126
|
-
|
127
|
-
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
|
128
|
-
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
129
|
-
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
130
|
-
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
131
|
-
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
132
|
-
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
133
|
-
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/bin/subtitle_it
CHANGED
@@ -29,7 +29,7 @@ BANNER
|
|
29
29
|
|
30
30
|
opts.separator " Options are:"
|
31
31
|
|
32
|
-
opts.on("-l", "--language
|
32
|
+
opts.on("-l", "--language=LANGUAGE", String,
|
33
33
|
"Language to search subtitles for, try it empty to see the supported ones.") do |ol|
|
34
34
|
if ol.nil?
|
35
35
|
puts Subdown.subtitle_languages
|
@@ -44,6 +44,8 @@ BANNER
|
|
44
44
|
opts.on("-d", "--delay=DELAY", Float,
|
45
45
|
"Delay to add/remove") { |o| OPTIONS[:delay] = o }
|
46
46
|
|
47
|
+
opts.on("-1", "--first") { OPTIONS[:first] = true }
|
48
|
+
|
47
49
|
opts.on("-f", "--force", "Force overwrite") { OPTIONS[:force] = true }
|
48
50
|
|
49
51
|
opts.on("-h", "--help",
|
@@ -63,5 +65,5 @@ if ARGV.empty?
|
|
63
65
|
puts parser
|
64
66
|
exit
|
65
67
|
else
|
66
|
-
SubtitleIt::Bin.run! ARGV, OPTIONS[:lang], OPTIONS[:format], OPTIONS[:force], OPTIONS[:delay]
|
68
|
+
SubtitleIt::Bin.run! ARGV, OPTIONS[:lang], OPTIONS[:format], OPTIONS[:force], OPTIONS[:delay], OPTIONS[:first]
|
67
69
|
end
|
data/lib/subtitle_it/bin.rb
CHANGED
@@ -13,7 +13,7 @@ module SubtitleIt
|
|
13
13
|
end
|
14
14
|
|
15
15
|
class Subdownloader
|
16
|
-
def run!(movie, lang = nil, dst_format = nil)
|
16
|
+
def run!(movie, lang = nil, dst_format = nil, first = false)
|
17
17
|
@movie = Movie.new(movie)
|
18
18
|
@down = Subdown.new
|
19
19
|
@down.log_in!
|
@@ -22,13 +22,17 @@ module SubtitleIt
|
|
22
22
|
puts 'No results found.'
|
23
23
|
return
|
24
24
|
end
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
25
|
+
unless first
|
26
|
+
puts "Found #{res.size.to_s.yellow} result#{'s' if res.size > 1}:\n"
|
27
|
+
res.each_with_index { |r, i| puts print_option(r.info, i) }
|
28
|
+
puts 'You can choose multiple ones separated with spaces: 1 3 5 '
|
29
|
+
puts 'Or a range separated with a hifen: 3-5'
|
30
|
+
STDOUT.print "Choose (1..#{res.size}): "
|
31
|
+
choose = parse_input(STDIN.gets.chomp)
|
32
|
+
choose = choose.map { |c| res[c.to_i - 1] }
|
33
|
+
else
|
34
|
+
choose = [res.first]
|
35
|
+
end
|
32
36
|
puts "Downloading #{choose.size} subtitle#{'s' if choose.size > 1}..."
|
33
37
|
choose.each do |sub|
|
34
38
|
down_a_sub(sub, dst_format)
|
@@ -40,7 +44,7 @@ module SubtitleIt
|
|
40
44
|
dst_format ||= sub.format
|
41
45
|
dump = @down.download_subtitle(sub)
|
42
46
|
if sub.format != dst_format
|
43
|
-
subt = Subtitle.new(dump: dump, format:
|
47
|
+
subt = Subtitle.new(dump: dump, format: sub.format)
|
44
48
|
dump = subt.send :"to_#{dst_format}"
|
45
49
|
end
|
46
50
|
fname = @movie.filename[0..-4] + sub.info['SubLanguageID']
|
@@ -49,8 +53,9 @@ module SubtitleIt
|
|
49
53
|
|
50
54
|
def print_option(r, index)
|
51
55
|
date = Date.parse(r['SubAddDate'])
|
52
|
-
" #{(index + 1).to_s.
|
53
|
-
"
|
56
|
+
" #{(index + 1).to_s.rjust(2, ' ').yellow}."\
|
57
|
+
" #{r['LanguageName'][0, 9].rjust(10, ' ').green}"\
|
58
|
+
" | #{r['SubFormat'].upcase.blue} | #{r['MovieName'][0, 20].cyan}"\
|
54
59
|
" / #{r['MovieYear'].cyan} | #{r['SubRating'].yellow}"\
|
55
60
|
" | FPS #{r['MovieFPS']} | #{r['SubSumCD']} CDs | #{date}"
|
56
61
|
end
|
@@ -69,13 +74,19 @@ module SubtitleIt
|
|
69
74
|
end
|
70
75
|
|
71
76
|
class Bin
|
72
|
-
def self.run!(argv, lang = nil, format = nil, force = false, _delay = nil)
|
77
|
+
def self.run!(argv, lang = nil, format = nil, force = false, _delay = nil, first = false)
|
73
78
|
fail unless argv
|
79
|
+
|
80
|
+
@lang = lang
|
74
81
|
@force = force
|
75
82
|
@format = format
|
83
|
+
@first = first
|
76
84
|
|
77
85
|
# TODO: generate_rsb
|
78
|
-
|
86
|
+
unless File.exist?(argv[0])
|
87
|
+
puts "Can't find '#{argv.join}'".yellow
|
88
|
+
exit 1
|
89
|
+
end
|
79
90
|
|
80
91
|
@file_in = argv[0]
|
81
92
|
@file_in_ext = Bin.get_extension(@file_in)
|
@@ -86,7 +97,7 @@ module SubtitleIt
|
|
86
97
|
end
|
87
98
|
|
88
99
|
if MOVIE_EXTS.include? @file_in_ext
|
89
|
-
Subdownloader.new.run!(@file_in, lang, @format)
|
100
|
+
Subdownloader.new.run!(@file_in, @lang, @format, @first)
|
90
101
|
elsif SUB_EXTS.include? @file_in_ext
|
91
102
|
Subwork.new.run!(@file_in, @format)
|
92
103
|
else
|
@@ -23,8 +23,7 @@ module Formats
|
|
23
23
|
end
|
24
24
|
|
25
25
|
def parse_sub
|
26
|
-
|
27
|
-
@raw.send(@raw.respond_to?(:lines) ? :lines : :to_a).reduce([]) do |i, l|
|
26
|
+
@raw.lines.reduce([]) do |i, l|
|
28
27
|
line_data = l.scan(/^\{([0-9]{1,})\}\{([0-9]{1,})\}(.+)$/)
|
29
28
|
line_data = line_data.at 0
|
30
29
|
time_on, time_off, text = line_data
|
data/lib/subtitle_it/subtitle.rb
CHANGED
@@ -13,9 +13,11 @@ module SubtitleIt
|
|
13
13
|
SUB_EXTS = %w(srt sub smi txt ssa ass mpl xml yml rsb)
|
14
14
|
|
15
15
|
class Subtitle
|
16
|
+
include Comparable
|
16
17
|
include Formats
|
17
18
|
attr_reader :id, :raw, :format, :lines, :style, :info, :filename, :rating, :language, :user, :release_name,
|
18
19
|
:osdb_id, :download_count, :download_url, :original_filename
|
20
|
+
attr_writer :style, :lines, :fps
|
19
21
|
|
20
22
|
def initialize(args = {})
|
21
23
|
# Looks like opensubtitle is the only provider around..
|
@@ -34,13 +36,10 @@ module SubtitleIt
|
|
34
36
|
@download_url = @info['SubDownloadLink'].to_s
|
35
37
|
end
|
36
38
|
@fps = args[:fps] || 23.976
|
37
|
-
|
39
|
+
return unless dump = args[:dump]
|
40
|
+
parse_dump(args[:dump], args[:format])
|
38
41
|
end
|
39
42
|
|
40
|
-
attr_writer :style
|
41
|
-
|
42
|
-
attr_writer :fps
|
43
|
-
|
44
43
|
def data=(data)
|
45
44
|
@raw = data
|
46
45
|
end
|
@@ -48,13 +47,24 @@ module SubtitleIt
|
|
48
47
|
def <=>(other)
|
49
48
|
rating <=> other.rating
|
50
49
|
end
|
51
|
-
include Comparable
|
52
50
|
|
53
51
|
private
|
54
52
|
|
53
|
+
# Force subtitles to be UTF-8
|
54
|
+
def encode_dump(dump)
|
55
|
+
dump = dump.read unless dump.kind_of?(String)
|
56
|
+
|
57
|
+
enc = CharlockHolmes::EncodingDetector.detect(dump)
|
58
|
+
if enc[:encoding] != 'UTF-8'
|
59
|
+
puts "Converting `#{enc[:encoding]}` to `UTF-8`".yellow
|
60
|
+
dump = CharlockHolmes::Converter.convert dump, enc[:encoding], 'UTF-8'
|
61
|
+
end
|
62
|
+
dump
|
63
|
+
end
|
64
|
+
|
55
65
|
def parse_dump(dump, format)
|
56
66
|
fail unless SUB_EXTS.include?(format)
|
57
|
-
@raw = dump
|
67
|
+
@raw = encode_dump(dump)
|
58
68
|
@format = format
|
59
69
|
parse_lines!
|
60
70
|
end
|
@@ -62,7 +72,5 @@ module SubtitleIt
|
|
62
72
|
def parse_lines!
|
63
73
|
self.lines = send :"parse_#{@format}"
|
64
74
|
end
|
65
|
-
|
66
|
-
attr_writer :lines
|
67
75
|
end
|
68
76
|
end
|
data/lib/subtitle_it/version.rb
CHANGED
data/lib/subtitle_it.rb
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
$LOAD_PATH.unshift(File.dirname(__FILE__)) unless
|
2
2
|
$LOAD_PATH.include?(File.dirname(__FILE__)) || $LOAD_PATH.include?(File.expand_path(File.dirname(__FILE__)))
|
3
3
|
require 'yaml'
|
4
|
+
require 'nokogiri'
|
5
|
+
require 'charlock_holmes'
|
4
6
|
|
5
7
|
require 'subtitle_it/version'
|
6
8
|
require 'subtitle_it/languages'
|
@@ -22,10 +24,10 @@ class Numeric
|
|
22
24
|
end
|
23
25
|
end
|
24
26
|
|
25
|
-
if RUBY_PLATFORM
|
27
|
+
if RUBY_PLATFORM <= '1.9'
|
26
28
|
class String
|
27
|
-
def
|
28
|
-
|
29
|
+
def lines
|
30
|
+
to_a
|
29
31
|
end
|
30
32
|
end
|
31
33
|
end
|
@@ -45,7 +45,7 @@ describe Bin do
|
|
45
45
|
include BinspecHelper
|
46
46
|
|
47
47
|
it 'should require ARGV' do
|
48
|
-
expect { Bin.run!(nil) }.to raise_error
|
48
|
+
expect { Bin.run!(nil) }.to raise_error RuntimeError
|
49
49
|
end
|
50
50
|
|
51
51
|
# Having a hard time testing the command line tool...
|
@@ -104,7 +104,7 @@ describe Subdownloader do
|
|
104
104
|
|
105
105
|
it 'should get extension files' do
|
106
106
|
expect(Bin.get_extension('Lots.of.dots.happen')).to eql('happen')
|
107
|
-
expect { Bin.get_extension('Nodotstoo') }.to raise_error
|
107
|
+
expect { Bin.get_extension('Nodotstoo') }.to raise_error RuntimeError
|
108
108
|
end
|
109
109
|
|
110
110
|
it 'should swap extensions' do
|
data/subtitle_it.gemspec
CHANGED
@@ -12,9 +12,9 @@ Gem::Specification.new do |s|
|
|
12
12
|
s.date = Time.now.strftime("%Y-%m-%d")
|
13
13
|
s.default_executable = 'subtitle_it'
|
14
14
|
|
15
|
-
s.homepage
|
15
|
+
s.homepage = 'http://github.com/nofxx/subtitle_it'
|
16
16
|
s.description = 'Download, edit and create subtitles. Supports various formats.'
|
17
|
-
s.summary
|
17
|
+
s.summary = 'Download, edit and create subtitles.'
|
18
18
|
s.license = 'MIT'
|
19
19
|
|
20
20
|
s.files = `git ls-files`.split("\n")
|
@@ -26,7 +26,5 @@ Gem::Specification.new do |s|
|
|
26
26
|
|
27
27
|
s.add_dependency 'colorize'
|
28
28
|
s.add_dependency 'nokogiri'
|
29
|
-
s.
|
30
|
-
s.add_development_dependency 'rspec', '~> 3.0'
|
31
|
-
s.add_development_dependency 'rspec-mocks', '~> 3.0'
|
29
|
+
s.add_dependency 'charlock_holmes'
|
32
30
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: subtitle_it
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Marcos Piccinini
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-08-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: colorize
|
@@ -39,47 +39,19 @@ dependencies:
|
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: charlock_holmes
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '10.0'
|
48
|
-
type: :development
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - "~>"
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '10.0'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: rspec
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - "~>"
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '3.0'
|
62
|
-
type: :development
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - "~>"
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: '3.0'
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: rspec-mocks
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - "~>"
|
45
|
+
- - ">="
|
74
46
|
- !ruby/object:Gem::Version
|
75
|
-
version: '
|
76
|
-
type: :
|
47
|
+
version: '0'
|
48
|
+
type: :runtime
|
77
49
|
prerelease: false
|
78
50
|
version_requirements: !ruby/object:Gem::Requirement
|
79
51
|
requirements:
|
80
|
-
- - "
|
52
|
+
- - ">="
|
81
53
|
- !ruby/object:Gem::Version
|
82
|
-
version: '
|
54
|
+
version: '0'
|
83
55
|
description: Download, edit and create subtitles. Supports various formats.
|
84
56
|
email: x@nofxx.com
|
85
57
|
executables:
|
@@ -88,9 +60,12 @@ extensions: []
|
|
88
60
|
extra_rdoc_files: []
|
89
61
|
files:
|
90
62
|
- ".gitignore"
|
63
|
+
- ".rspec"
|
64
|
+
- ".travis.yml"
|
91
65
|
- Gemfile
|
66
|
+
- Guardfile
|
92
67
|
- History.txt
|
93
|
-
-
|
68
|
+
- MIT-LICENSE
|
94
69
|
- README.md
|
95
70
|
- Rakefile
|
96
71
|
- VERSION
|
@@ -162,7 +137,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
162
137
|
version: '0'
|
163
138
|
requirements: []
|
164
139
|
rubyforge_project:
|
165
|
-
rubygems_version: 2.4.5
|
140
|
+
rubygems_version: 2.4.5.1
|
166
141
|
signing_key:
|
167
142
|
specification_version: 4
|
168
143
|
summary: Download, edit and create subtitles.
|
@@ -193,4 +168,3 @@ test_files:
|
|
193
168
|
- spec/subtitle_it/subtime_spec.rb
|
194
169
|
- spec/subtitle_it/subtitle_spec.rb
|
195
170
|
- spec/subtitle_it_spec.rb
|
196
|
-
has_rdoc:
|