srt 0.1.3 → 0.1.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.
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- MjNjZmQyOWE3OTQzNjg5YzdlYjM4Zjk2ZGMzNzU2YzdiN2IyZjBlZQ==
5
- data.tar.gz: !binary |-
6
- NWIwZDk0MDFjOTVlM2ZhZjMxNDE2NTdmYTUxYzJmZTgwZTI5MDRjNw==
2
+ SHA1:
3
+ metadata.gz: d968cae2699fc1dd691a20c0714412659feed184
4
+ data.tar.gz: 209e318fd211fb54b2a9792f3cf61b691327612a
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- NDlhNmM2NWMzNjhlMzIzODkxMDMxNDU2OTBiZDFmZGRiNjA0YWJlM2IzMzVi
10
- ZjkwYzc4NmQ2NzJjOWE1OWIxODE0ZTE1ZGIxNmFmYTJkY2U4OGY4MjBjZmUz
11
- ZTUwOWYzYTY3Yzc3NzYzNjQ4NjhhOTEzOGM0ZDE5N2U3N2M4MTQ=
12
- data.tar.gz: !binary |-
13
- NzFiZDYxYWQwNzhkZjI4MzI2N2U0MjQ1NDU5NWY2YWI3ZGYyZjM0MzFiMGRk
14
- NWVhMDA3YzY1OGU2ZGQ5MGFkY2ZiMjcxOTgwMDQxZTBiNDU5OTU5YTA0MWZk
15
- ZTFlMzM3NmFkZGYzYTgyOTI5MDhlYTI1ZmI2MjA4YzA1MDc3NzQ=
6
+ metadata.gz: '095c33709a65f85f6e5eb1d05a2577f941b1f31d75399563dad423779fa66256caad3f9fc091db4e86ae57bc9cf51d161da7d2e896cd916222ba2717073e9518'
7
+ data.tar.gz: 9e5551a03c3380f0bbb322985ceea14670196c7815756f34c34a38a7971e027b859ccfbc1931e201513a97d06f21c2c88e97d192251a759cd6094c731ac47a2e
@@ -1,6 +1,8 @@
1
1
  language: ruby
2
+ cache: bundler
2
3
  rvm:
3
- - 1.9.3
4
4
  - 2.0.0
5
+ - 2.1.0
6
+ - 2.3.0
5
7
  script:
6
- - bundle exec rake spec
8
+ - bundle exec rake spec
@@ -168,10 +168,10 @@ module SRT
168
168
  line.end_time += seconds
169
169
  end
170
170
  elsif (original_framerate = Parser.framerate(options.keys[0])) && (target_framerate = Parser.framerate(options.values[0]))
171
- ratio = target_framerate / original_framerate
171
+ time_ratio = original_framerate / target_framerate
172
172
  lines.each do |line|
173
- line.start_time *= ratio
174
- line.end_time *= ratio
173
+ line.start_time *= time_ratio
174
+ line.end_time *= time_ratio
175
175
  end
176
176
  end
177
177
  elsif options.length == 2
@@ -41,7 +41,9 @@ module SRT
41
41
  end
42
42
 
43
43
  def to_s(time_str_function=:time_str)
44
- [sequence, (display_coordinates ? send(time_str_function) + display_coordinates : send(time_str_function)), text, ''].flatten.join("\n")
44
+ content = text.empty? ? [''] : text
45
+ coordinates = display_coordinates ? display_coordinates : ""
46
+ [sequence, send(time_str_function) + coordinates, content, ""].flatten.join("\n")
45
47
  end
46
48
  end
47
49
  end
@@ -12,7 +12,7 @@ module SRT
12
12
  end
13
13
 
14
14
  def timecode(timecode_string)
15
- mres = timecode_string.match(/(?<h>\d+):(?<m>\d+):(?<s>\d+)[,.](?<ms>\d+)/)
15
+ mres = timecode_string.match(/(?<h>\d+):(?<m>\d+):(?<s>\d+)[,.]?(?<ms>\d+)?/)
16
16
  mres ? "#{mres["h"].to_i * 3600 + mres["m"].to_i * 60 + mres["s"].to_i}.#{mres["ms"]}".to_f : nil
17
17
  end
18
18
 
@@ -1,3 +1,3 @@
1
1
  module SRT
2
- VERSION = "0.1.3"
2
+ VERSION = "0.1.4"
3
3
  end
@@ -333,11 +333,11 @@ describe SRT::File do
333
333
  before { file.timeshift({ "25fps" => "23.976fps" }) }
334
334
 
335
335
  it "should have correctly scaled timecodes for subtitle #24" do
336
- expect(file.lines[23].time_str).to eq("00:01:52,007 --> 00:01:53,469")
336
+ expect(file.lines[23].time_str).to eq("00:02:01,779 --> 00:02:03,368")
337
337
  end
338
338
 
339
339
  it "should have correctly scaled timecodes for subtitle #43" do
340
- expect(file.lines[42].time_str).to eq("00:03:34,503 --> 00:03:35,910")
340
+ expect(file.lines[42].time_str).to eq("00:03:53,217 --> 00:03:54,746")
341
341
  end
342
342
  end
343
343
 
@@ -22,4 +22,20 @@ describe SRT::Line do
22
22
  expect(line.time_str).to eq("00:03:44,200 --> 00:04:04,578")
23
23
  end
24
24
  end
25
+
26
+ describe "#to_s" do
27
+ let(:line) { SRT::Line.new }
28
+
29
+ before do
30
+ line.sequence = "1"
31
+ line.start_time = 224.2
32
+ line.end_time = 244.578
33
+ end
34
+
35
+ context "with empty content" do
36
+ it "creates a valid empty node" do
37
+ expect(line.to_s).to eq("1\n00:03:44,200 --> 00:04:04,578\n\n")
38
+ end
39
+ end
40
+ end
25
41
  end
@@ -14,6 +14,10 @@ describe SRT::Parser do
14
14
  it "should convert the SRT timecode format to a float representing seconds" do
15
15
  expect(subject.timecode("01:03:44,200")).to eq(3824.2)
16
16
  end
17
+
18
+ it "should handle timecodes with no milliseconds component" do
19
+ expect(subject.timecode("01:03:44")).to eq(3824.0)
20
+ end
17
21
  end
18
22
 
19
23
  describe ".timespan" do
metadata CHANGED
@@ -1,55 +1,55 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: srt
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Christopher Petersen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-06-09 00:00:00.000000000 Z
11
+ date: 2018-04-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ! '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ! '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rspec
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ! '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ! '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: coveralls
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ! '>='
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ! '>='
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  description: Ruby gem for parsing srt (subtitle) files. SRT stands for SubRip text
@@ -60,8 +60,8 @@ executables: []
60
60
  extensions: []
61
61
  extra_rdoc_files: []
62
62
  files:
63
- - .gitignore
64
- - .travis.yml
63
+ - ".gitignore"
64
+ - ".travis.yml"
65
65
  - Gemfile
66
66
  - LICENSE
67
67
  - README.md
@@ -92,17 +92,17 @@ require_paths:
92
92
  - lib
93
93
  required_ruby_version: !ruby/object:Gem::Requirement
94
94
  requirements:
95
- - - ! '>='
95
+ - - ">="
96
96
  - !ruby/object:Gem::Version
97
97
  version: '0'
98
98
  required_rubygems_version: !ruby/object:Gem::Requirement
99
99
  requirements:
100
- - - ! '>='
100
+ - - ">="
101
101
  - !ruby/object:Gem::Version
102
102
  version: '0'
103
103
  requirements: []
104
104
  rubyforge_project:
105
- rubygems_version: 2.2.1
105
+ rubygems_version: 2.5.2
106
106
  signing_key:
107
107
  specification_version: 4
108
108
  summary: Ruby gem for parsing subtitle files.