titlekit 1.2.1 → 1.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.
- checksums.yaml +5 -5
- data/.gitignore +1 -2
- data/CHANGELOG.md +15 -0
- data/{LICENSE → LICENSE.txt} +2 -2
- data/README.md +1 -1
- data/bin/titlekit +1 -1
- data/lib/titlekit/have.rb +5 -5
- data/lib/titlekit/job.rb +63 -59
- data/lib/titlekit/parsers/ass.rb +29 -27
- data/lib/titlekit/parsers/ass.treetop +8 -3
- data/lib/titlekit/parsers/srt.rb +16 -17
- data/lib/titlekit/parsers/ssa.rb +31 -29
- data/lib/titlekit/specification.rb +28 -27
- data/lib/titlekit/utilities.rb +2 -2
- data/lib/titlekit/version.rb +2 -3
- data/lib/titlekit/want.rb +1 -1
- data/lib/titlekit.rb +1 -1
- data/spec/ass_spec.rb +31 -7
- data/spec/automatic_grouping/automatic_grouping_spec.rb +8 -8
- data/spec/encoding_detection/encoding_detection_spec.rb +9 -9
- data/spec/files/ass/authentic.ass +0 -0
- data/spec/files/ass/bom.ass +17 -0
- data/spec/format_conversion/format_conversion_spec.rb +14 -15
- data/spec/job_spec.rb +9 -10
- data/spec/simultaneous_subtitles/simultaneous_subtitles_spec.rb +19 -19
- data/spec/simultaneous_subtitles/triple_plus/ass/expected.ass +3 -3
- data/spec/simultaneous_subtitles/triple_plus/ass/out.ass +3 -3
- data/spec/simultaneous_subtitles/triple_plus/ssa/expected.ssa +3 -3
- data/spec/simultaneous_subtitles/triple_plus/ssa/out.ssa +3 -3
- data/spec/spec_helper.rb +1 -1
- data/spec/specifications_spec.rb +3 -3
- data/spec/srt_spec.rb +7 -6
- data/spec/ssa_spec.rb +7 -6
- data/spec/timecode_correction/timecode_correction_spec.rb +4 -4
- data/spec/transcoding/transcoding_spec.rb +10 -10
- data/titlekit.gemspec +9 -14
- metadata +25 -39
- data/.travis.yml +0 -3
- data/Rakefile +0 -8
@@ -3,10 +3,10 @@ require File.join(File.expand_path(__dir__), '../spec_helper')
|
|
3
3
|
describe Titlekit::Job do
|
4
4
|
|
5
5
|
describe 'Simultaneous Subtitles' do
|
6
|
-
|
6
|
+
|
7
7
|
context 'with dual subtitles' do
|
8
8
|
let(:ins) do
|
9
|
-
%w
|
9
|
+
%w(one two).map do |file|
|
10
10
|
File.join(__dir__, 'dual', "#{file}.srt")
|
11
11
|
end
|
12
12
|
end
|
@@ -23,7 +23,7 @@ describe Titlekit::Job do
|
|
23
23
|
job = Titlekit::Job.new
|
24
24
|
ins.each { |file| job.have.file(file).encoding('UTF-8') }
|
25
25
|
job.want.file(@out)
|
26
|
-
|
26
|
+
|
27
27
|
expect(job.run).to be true
|
28
28
|
end
|
29
29
|
|
@@ -65,19 +65,19 @@ describe Titlekit::Job do
|
|
65
65
|
job = Titlekit::Job.new
|
66
66
|
ins.each { |file| job.have.file(file).encoding('UTF-8') }
|
67
67
|
job.want.file(@out)
|
68
|
-
|
68
|
+
|
69
69
|
expect(job.run).to be true
|
70
70
|
end
|
71
71
|
|
72
72
|
it 'delivers the expected output' do
|
73
73
|
expect(FileUtils.compare_file(@out, @expected)).to be true
|
74
74
|
end
|
75
|
-
end
|
75
|
+
end
|
76
76
|
end
|
77
77
|
|
78
78
|
context 'with triple subtitles' do
|
79
79
|
let(:ins) do
|
80
|
-
%w
|
80
|
+
%w(one two three).map do |file|
|
81
81
|
File.join(__dir__, 'triple', "#{file}.srt")
|
82
82
|
end
|
83
83
|
end
|
@@ -94,7 +94,7 @@ describe Titlekit::Job do
|
|
94
94
|
job = Titlekit::Job.new
|
95
95
|
ins.each { |file| job.have.file(file).encoding('UTF-8') }
|
96
96
|
job.want.file(@out)
|
97
|
-
|
97
|
+
|
98
98
|
expect(job.run).to be true
|
99
99
|
end
|
100
100
|
|
@@ -115,7 +115,7 @@ describe Titlekit::Job do
|
|
115
115
|
job = Titlekit::Job.new
|
116
116
|
ins.each { |file| job.have.file(file).encoding('UTF-8') }
|
117
117
|
job.want.file(@out)
|
118
|
-
|
118
|
+
|
119
119
|
expect(job.run).to be true
|
120
120
|
end
|
121
121
|
|
@@ -136,19 +136,19 @@ describe Titlekit::Job do
|
|
136
136
|
job = Titlekit::Job.new
|
137
137
|
ins.each { |file| job.have.file(file).encoding('UTF-8') }
|
138
138
|
job.want.file(@out)
|
139
|
-
|
139
|
+
|
140
140
|
expect(job.run).to be true
|
141
141
|
end
|
142
142
|
|
143
143
|
it 'delivers the expected output' do
|
144
144
|
expect(FileUtils.compare_file(@out, @expected)).to be true
|
145
145
|
end
|
146
|
-
end
|
146
|
+
end
|
147
147
|
end
|
148
148
|
|
149
149
|
context 'with three+ simultaneous subtitles' do
|
150
150
|
let(:ins) do
|
151
|
-
%w
|
151
|
+
%w(one two three four five six).map do |file|
|
152
152
|
File.join(__dir__, 'triple_plus', "#{file}.srt")
|
153
153
|
end
|
154
154
|
end
|
@@ -159,13 +159,13 @@ describe Titlekit::Job do
|
|
159
159
|
@expected = File.join(__dir__, 'triple_plus', 'srt', 'expected.srt')
|
160
160
|
|
161
161
|
File.delete(@out) if File.exist?(@out)
|
162
|
-
end
|
162
|
+
end
|
163
163
|
|
164
164
|
it 'runs the job' do
|
165
165
|
job = Titlekit::Job.new
|
166
166
|
ins.each { |file| job.have.file(file).encoding('UTF-8') }
|
167
167
|
job.want.file(@out)
|
168
|
-
|
168
|
+
|
169
169
|
expect(job.run).to be true
|
170
170
|
end
|
171
171
|
|
@@ -180,13 +180,13 @@ describe Titlekit::Job do
|
|
180
180
|
@expected = File.join(__dir__, 'triple_plus', 'ssa', 'expected.ssa')
|
181
181
|
|
182
182
|
File.delete(@out) if File.exist?(@out)
|
183
|
-
end
|
183
|
+
end
|
184
184
|
|
185
185
|
it 'runs the job' do
|
186
186
|
job = Titlekit::Job.new
|
187
187
|
ins.each { |file| job.have.file(file).encoding('UTF-8') }
|
188
188
|
job.want.file(@out)
|
189
|
-
|
189
|
+
|
190
190
|
expect(job.run).to be true
|
191
191
|
end
|
192
192
|
|
@@ -201,20 +201,20 @@ describe Titlekit::Job do
|
|
201
201
|
@expected = File.join(__dir__, 'triple_plus', 'ass', 'expected.ass')
|
202
202
|
|
203
203
|
File.delete(@out) if File.exist?(@out)
|
204
|
-
end
|
204
|
+
end
|
205
205
|
|
206
206
|
it 'runs the job' do
|
207
207
|
job = Titlekit::Job.new
|
208
208
|
ins.each { |file| job.have.file(file).encoding('UTF-8') }
|
209
209
|
job.want.file(@out)
|
210
|
-
|
210
|
+
|
211
211
|
expect(job.run).to be true
|
212
212
|
end
|
213
213
|
|
214
214
|
it 'delivers the expected output' do
|
215
215
|
expect(FileUtils.compare_file(@out, @expected)).to be true
|
216
216
|
end
|
217
|
-
end
|
217
|
+
end
|
218
218
|
end
|
219
219
|
end
|
220
|
-
end
|
220
|
+
end
|
@@ -36,9 +36,9 @@ Dialogue: 0,0:00:10.00,0:00:10.35,EDF393,,0000,0000,0000,,Wir verwenden zu viele
|
|
36
36
|
Dialogue: 0,0:00:10.35,0:00:10.38,89BABE,,0000,0000,0000,,We are using way too many here
|
37
37
|
Dialogue: 0,0:00:10.35,0:00:10.38,EDF393,,0000,0000,0000,,Wir verwenden zu viele Untertitel zur gleichen Zeit
|
38
38
|
Dialogue: 0,0:00:10.38,0:00:11.00,EDF393,,0000,0000,0000,,Wir verwenden zu viele Untertitel zur gleichen Zeit
|
39
|
-
Dialogue: 0,0:00:11.95,0:00:11.
|
40
|
-
Dialogue: 0,0:00:11.
|
41
|
-
Dialogue: 0,0:00:11.
|
39
|
+
Dialogue: 0,0:00:11.95,0:00:11.98,FFA891,,0000,0000,0000,,¡Dios mio!
|
40
|
+
Dialogue: 0,0:00:11.98,0:00:11.99,EDF393,,0000,0000,0000,,That is correct
|
41
|
+
Dialogue: 0,0:00:11.98,0:00:11.99,FFA891,,0000,0000,0000,,¡Dios mio!
|
42
42
|
Dialogue: 0,0:00:11.99,0:00:12.04,EDF393,,0000,0000,0000,,That is correct
|
43
43
|
Dialogue: 0,0:00:11.99,0:00:12.04,F5E665,,0000,0000,0000,,Esto es correcto
|
44
44
|
Dialogue: 0,0:00:11.99,0:00:12.04,FFA891,,0000,0000,0000,,¡Dios mio!
|
@@ -36,9 +36,9 @@ Dialogue: 0,0:00:10.00,0:00:10.35,EDF393,,0000,0000,0000,,Wir verwenden zu viele
|
|
36
36
|
Dialogue: 0,0:00:10.35,0:00:10.38,89BABE,,0000,0000,0000,,We are using way too many here
|
37
37
|
Dialogue: 0,0:00:10.35,0:00:10.38,EDF393,,0000,0000,0000,,Wir verwenden zu viele Untertitel zur gleichen Zeit
|
38
38
|
Dialogue: 0,0:00:10.38,0:00:11.00,EDF393,,0000,0000,0000,,Wir verwenden zu viele Untertitel zur gleichen Zeit
|
39
|
-
Dialogue: 0,0:00:11.95,0:00:11.
|
40
|
-
Dialogue: 0,0:00:11.
|
41
|
-
Dialogue: 0,0:00:11.
|
39
|
+
Dialogue: 0,0:00:11.95,0:00:11.98,FFA891,,0000,0000,0000,,¡Dios mio!
|
40
|
+
Dialogue: 0,0:00:11.98,0:00:11.99,EDF393,,0000,0000,0000,,That is correct
|
41
|
+
Dialogue: 0,0:00:11.98,0:00:11.99,FFA891,,0000,0000,0000,,¡Dios mio!
|
42
42
|
Dialogue: 0,0:00:11.99,0:00:12.04,EDF393,,0000,0000,0000,,That is correct
|
43
43
|
Dialogue: 0,0:00:11.99,0:00:12.04,F5E665,,0000,0000,0000,,Esto es correcto
|
44
44
|
Dialogue: 0,0:00:11.99,0:00:12.04,FFA891,,0000,0000,0000,,¡Dios mio!
|
@@ -36,9 +36,9 @@ Dialogue: 0,0:00:10.00,0:00:10.35,EDF393,,0000,0000,0000,,Wir verwenden zu viele
|
|
36
36
|
Dialogue: 0,0:00:10.35,0:00:10.38,89BABE,,0000,0000,0000,,We are using way too many here
|
37
37
|
Dialogue: 0,0:00:10.35,0:00:10.38,EDF393,,0000,0000,0000,,Wir verwenden zu viele Untertitel zur gleichen Zeit
|
38
38
|
Dialogue: 0,0:00:10.38,0:00:11.00,EDF393,,0000,0000,0000,,Wir verwenden zu viele Untertitel zur gleichen Zeit
|
39
|
-
Dialogue: 0,0:00:11.95,0:00:11.
|
40
|
-
Dialogue: 0,0:00:11.
|
41
|
-
Dialogue: 0,0:00:11.
|
39
|
+
Dialogue: 0,0:00:11.95,0:00:11.98,FFA891,,0000,0000,0000,,¡Dios mio!
|
40
|
+
Dialogue: 0,0:00:11.98,0:00:11.99,EDF393,,0000,0000,0000,,That is correct
|
41
|
+
Dialogue: 0,0:00:11.98,0:00:11.99,FFA891,,0000,0000,0000,,¡Dios mio!
|
42
42
|
Dialogue: 0,0:00:11.99,0:00:12.04,EDF393,,0000,0000,0000,,That is correct
|
43
43
|
Dialogue: 0,0:00:11.99,0:00:12.04,F5E665,,0000,0000,0000,,Esto es correcto
|
44
44
|
Dialogue: 0,0:00:11.99,0:00:12.04,FFA891,,0000,0000,0000,,¡Dios mio!
|
@@ -36,9 +36,9 @@ Dialogue: 0,0:00:10.00,0:00:10.35,EDF393,,0000,0000,0000,,Wir verwenden zu viele
|
|
36
36
|
Dialogue: 0,0:00:10.35,0:00:10.38,89BABE,,0000,0000,0000,,We are using way too many here
|
37
37
|
Dialogue: 0,0:00:10.35,0:00:10.38,EDF393,,0000,0000,0000,,Wir verwenden zu viele Untertitel zur gleichen Zeit
|
38
38
|
Dialogue: 0,0:00:10.38,0:00:11.00,EDF393,,0000,0000,0000,,Wir verwenden zu viele Untertitel zur gleichen Zeit
|
39
|
-
Dialogue: 0,0:00:11.95,0:00:11.
|
40
|
-
Dialogue: 0,0:00:11.
|
41
|
-
Dialogue: 0,0:00:11.
|
39
|
+
Dialogue: 0,0:00:11.95,0:00:11.98,FFA891,,0000,0000,0000,,¡Dios mio!
|
40
|
+
Dialogue: 0,0:00:11.98,0:00:11.99,EDF393,,0000,0000,0000,,That is correct
|
41
|
+
Dialogue: 0,0:00:11.98,0:00:11.99,FFA891,,0000,0000,0000,,¡Dios mio!
|
42
42
|
Dialogue: 0,0:00:11.99,0:00:12.04,EDF393,,0000,0000,0000,,That is correct
|
43
43
|
Dialogue: 0,0:00:11.99,0:00:12.04,F5E665,,0000,0000,0000,,Esto es correcto
|
44
44
|
Dialogue: 0,0:00:11.99,0:00:12.04,FFA891,,0000,0000,0000,,¡Dios mio!
|
data/spec/spec_helper.rb
CHANGED
data/spec/specifications_spec.rb
CHANGED
@@ -63,7 +63,7 @@ shared_examples 'a specification' do
|
|
63
63
|
it 'returns the set named reference for a timecode' do
|
64
64
|
expect(specification.references[:some_point][:timecode]).to eq(210)
|
65
65
|
end
|
66
|
-
end
|
66
|
+
end
|
67
67
|
|
68
68
|
context 'specifying an SRT timecode' do
|
69
69
|
let(:specification) do
|
@@ -105,7 +105,7 @@ shared_examples 'a specification' do
|
|
105
105
|
it 'returns the set named reference for a timecode' do
|
106
106
|
expect(specification.references[:some_point][:timecode]).to eq(210)
|
107
107
|
end
|
108
|
-
end
|
108
|
+
end
|
109
109
|
end
|
110
110
|
end
|
111
111
|
|
@@ -135,4 +135,4 @@ end
|
|
135
135
|
|
136
136
|
describe Titlekit::Want do
|
137
137
|
it_behaves_like 'a specification'
|
138
|
-
end
|
138
|
+
end
|
data/spec/srt_spec.rb
CHANGED
@@ -41,6 +41,7 @@ describe Titlekit::SRT do
|
|
41
41
|
end
|
42
42
|
|
43
43
|
it 'parses and builds correct timecodes' do
|
44
|
+
expect(subtitles[7][:end]).to eq(22.952)
|
44
45
|
expect(subtitles[299][:start]).to eq(1426.564)
|
45
46
|
expect(subtitles[299][:end]).to eq(1428.759)
|
46
47
|
end
|
@@ -48,7 +49,7 @@ describe Titlekit::SRT do
|
|
48
49
|
it 'parses and builds correct lines' do
|
49
50
|
expect(subtitles[0][:lines]).to eq("<i>(male narrator) Previously\r\non Battlestar Galactica.</i>")
|
50
51
|
end
|
51
|
-
end
|
52
|
+
end
|
52
53
|
|
53
54
|
context 'with a file that contains coordinates' do
|
54
55
|
let(:subtitles) do
|
@@ -75,7 +76,7 @@ describe Titlekit::SRT do
|
|
75
76
|
it 'ignores the display coordinates' do
|
76
77
|
# just fyi
|
77
78
|
end
|
78
|
-
end
|
79
|
+
end
|
79
80
|
end
|
80
81
|
|
81
82
|
describe '.export' do
|
@@ -122,13 +123,13 @@ Oh yeah ... 寧為太平犬,不做亂世人
|
|
122
123
|
|
123
124
|
describe '.build_timecode' do
|
124
125
|
it 'builds an SRT timecode from a float timecode value' do
|
125
|
-
|
126
|
+
expect(Titlekit::SRT.build_timecode(35.9678)).to eq('00:00:35,968')
|
126
127
|
end
|
127
128
|
end
|
128
129
|
|
129
130
|
describe '.parse_timecode' do
|
130
131
|
it 'obtains a float timecode value from an SRT timecode' do
|
131
|
-
|
132
|
+
expect(Titlekit::SRT.parse_timecode('00:00:35,968')).to eq(35.968)
|
132
133
|
end
|
133
|
-
end
|
134
|
-
end
|
134
|
+
end
|
135
|
+
end
|
data/spec/ssa_spec.rb
CHANGED
@@ -9,7 +9,7 @@ describe Titlekit::SSA do
|
|
9
9
|
Titlekit::SSA.import(File.read('spec/files/ssa/simple.ssa'))
|
10
10
|
end
|
11
11
|
|
12
|
-
it 'parses and builds
|
12
|
+
it 'parses and builds 2 subtitles' do
|
13
13
|
expect(subtitles.length).to eq(2)
|
14
14
|
end
|
15
15
|
|
@@ -23,7 +23,7 @@ describe Titlekit::SSA do
|
|
23
23
|
end
|
24
24
|
|
25
25
|
it 'parses and builds correct lines' do
|
26
|
-
expect(subtitles[1][:lines]).to eq(
|
26
|
+
expect(subtitles[1][:lines]).to eq('{\\a2}Story Script & Direction - MIYAZAKI Hayao')
|
27
27
|
end
|
28
28
|
end
|
29
29
|
end
|
@@ -78,13 +78,14 @@ Dialogue: 0,0:00:01.50,0:00:03.70,Default,,0000,0000,0000,,Oh yeah ... 寧為太
|
|
78
78
|
|
79
79
|
describe '.build_timecode' do
|
80
80
|
it 'builds an SSA timecode from a float timecode value' do
|
81
|
-
|
81
|
+
expect(Titlekit::SSA.build_timecode(35.9678)).to eq('0:00:35.97')
|
82
82
|
end
|
83
83
|
end
|
84
84
|
|
85
85
|
describe '.parse_timecode' do
|
86
86
|
it 'obtains a float timecode value from an SSA timecode' do
|
87
|
-
|
87
|
+
expect(Titlekit::SSA.parse_timecode('0:00:35.96')).to eq(35.96)
|
88
|
+
expect(Titlekit::SSA.parse_timecode('0:00:04.56')).to eq(4.56)
|
88
89
|
end
|
89
|
-
end
|
90
|
-
end
|
90
|
+
end
|
91
|
+
end
|
@@ -29,7 +29,7 @@ describe Titlekit::Job do
|
|
29
29
|
|
30
30
|
it 'delivers the expected output' do
|
31
31
|
expect(FileUtils.compare_file(@out, @expected)).to be true
|
32
|
-
end
|
32
|
+
end
|
33
33
|
end
|
34
34
|
|
35
35
|
context 'Based on a single reference' do
|
@@ -57,7 +57,7 @@ describe Titlekit::Job do
|
|
57
57
|
|
58
58
|
it 'delivers the expected output' do
|
59
59
|
expect(FileUtils.compare_file(@out, @expected)).to be true
|
60
|
-
end
|
60
|
+
end
|
61
61
|
end
|
62
62
|
|
63
63
|
context 'Based on differing framerates plus a reference' do
|
@@ -87,7 +87,7 @@ describe Titlekit::Job do
|
|
87
87
|
|
88
88
|
it 'delivers the expected output' do
|
89
89
|
expect(FileUtils.compare_file(@out, @expected)).to be true
|
90
|
-
end
|
90
|
+
end
|
91
91
|
end
|
92
92
|
|
93
93
|
context 'Based on two references' do
|
@@ -120,4 +120,4 @@ describe Titlekit::Job do
|
|
120
120
|
end
|
121
121
|
end
|
122
122
|
end
|
123
|
-
end
|
123
|
+
end
|
@@ -19,11 +19,11 @@ describe Titlekit::Job do
|
|
19
19
|
have = job.have
|
20
20
|
have.encoding('ISO-8859-1')
|
21
21
|
have.file(@in)
|
22
|
-
|
22
|
+
|
23
23
|
want = job.want
|
24
24
|
want.encoding('UTF-8')
|
25
25
|
want.file(@out)
|
26
|
-
|
26
|
+
|
27
27
|
expect(job.run).to be true
|
28
28
|
end
|
29
29
|
|
@@ -47,11 +47,11 @@ describe Titlekit::Job do
|
|
47
47
|
have = job.have
|
48
48
|
have.encoding('Windows-1252')
|
49
49
|
have.file(@in)
|
50
|
-
|
50
|
+
|
51
51
|
want = job.want
|
52
52
|
want.encoding('UTF-8')
|
53
53
|
want.file(@out)
|
54
|
-
|
54
|
+
|
55
55
|
expect(job.run).to be true
|
56
56
|
end
|
57
57
|
|
@@ -75,11 +75,11 @@ describe Titlekit::Job do
|
|
75
75
|
have = job.have
|
76
76
|
have.encoding('UTF-8')
|
77
77
|
have.file(@in)
|
78
|
-
|
78
|
+
|
79
79
|
want = job.want
|
80
80
|
want.encoding('GBK')
|
81
81
|
want.file(@out)
|
82
|
-
|
82
|
+
|
83
83
|
expect(job.run).to be true
|
84
84
|
end
|
85
85
|
|
@@ -103,14 +103,14 @@ describe Titlekit::Job do
|
|
103
103
|
have = job.have
|
104
104
|
have.encoding('GB2312')
|
105
105
|
have.file(@in)
|
106
|
-
|
106
|
+
|
107
107
|
want = job.want
|
108
108
|
want.encoding('ASCII')
|
109
109
|
want.file(@out)
|
110
|
-
|
110
|
+
|
111
111
|
expect(job.run).to be false
|
112
112
|
expect(job.report.join).to include('Failure while transcoding')
|
113
113
|
end
|
114
|
-
end
|
114
|
+
end
|
115
115
|
end
|
116
|
-
end
|
116
|
+
end
|
data/titlekit.gemspec
CHANGED
@@ -1,27 +1,22 @@
|
|
1
1
|
require File.expand_path('../lib/titlekit/version', __FILE__)
|
2
2
|
|
3
3
|
Gem::Specification.new do |spec|
|
4
|
-
spec.name = 'titlekit'
|
5
|
-
spec.summary = 'Featureful Ruby library for SRT / ASS / SSA subtitles'
|
6
|
-
spec.description = 'Featureful Ruby library for SRT / ASS / SSA subtitles'
|
7
|
-
|
8
|
-
spec.homepage = 'https://github.com/simonrepp/titlekit'
|
9
|
-
|
10
4
|
spec.author = 'Simon Repp'
|
11
|
-
spec.
|
12
|
-
|
5
|
+
spec.description = 'Featureful Ruby library for SRT / ASS / SSA subtitles'
|
6
|
+
spec.homepage = 'https://codeberg.org/simonrepp/titlekit'
|
13
7
|
spec.license = 'MIT'
|
8
|
+
spec.name = 'titlekit'
|
9
|
+
spec.summary = 'Featureful Ruby library for SRT / ASS / SSA subtitles'
|
14
10
|
|
15
|
-
spec.add_runtime_dependency('rchardet19')
|
16
|
-
spec.add_runtime_dependency('treetop')
|
11
|
+
spec.add_runtime_dependency('rchardet19', '~> 1.3.7')
|
12
|
+
spec.add_runtime_dependency('treetop', '~> 1.6.11')
|
17
13
|
|
18
|
-
spec.add_development_dependency('
|
19
|
-
spec.add_development_dependency('rspec')
|
14
|
+
spec.add_development_dependency('rspec', '~> 3.11.0')
|
20
15
|
|
21
16
|
spec.platform = Gem::Platform::RUBY
|
22
|
-
spec.required_ruby_version = '>= 2.
|
17
|
+
spec.required_ruby_version = '>= 2.4.0'
|
23
18
|
spec.files = `git ls-files`.split($\)
|
24
|
-
spec.executables = spec.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
19
|
+
spec.executables = spec.files.grep(%r{^bin/}).map { |f| File.basename(f) }
|
25
20
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
26
21
|
spec.require_paths = ['lib']
|
27
22
|
spec.version = Titlekit::VERSION
|
metadata
CHANGED
@@ -1,84 +1,69 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: titlekit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Simon Repp
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-06-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rchardet19
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 1.3.7
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 1.3.7
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: treetop
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 1.6.11
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: rake
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - ">="
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '0'
|
48
|
-
type: :development
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - ">="
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '0'
|
40
|
+
version: 1.6.11
|
55
41
|
- !ruby/object:Gem::Dependency
|
56
42
|
name: rspec
|
57
43
|
requirement: !ruby/object:Gem::Requirement
|
58
44
|
requirements:
|
59
|
-
- - "
|
45
|
+
- - "~>"
|
60
46
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
47
|
+
version: 3.11.0
|
62
48
|
type: :development
|
63
49
|
prerelease: false
|
64
50
|
version_requirements: !ruby/object:Gem::Requirement
|
65
51
|
requirements:
|
66
|
-
- - "
|
52
|
+
- - "~>"
|
67
53
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
54
|
+
version: 3.11.0
|
69
55
|
description: Featureful Ruby library for SRT / ASS / SSA subtitles
|
70
|
-
email:
|
56
|
+
email:
|
71
57
|
executables:
|
72
58
|
- titlekit
|
73
59
|
extensions: []
|
74
60
|
extra_rdoc_files: []
|
75
61
|
files:
|
76
62
|
- ".gitignore"
|
77
|
-
-
|
63
|
+
- CHANGELOG.md
|
78
64
|
- Gemfile
|
79
|
-
- LICENSE
|
65
|
+
- LICENSE.txt
|
80
66
|
- README.md
|
81
|
-
- Rakefile
|
82
67
|
- bin/titlekit
|
83
68
|
- lib/titlekit.rb
|
84
69
|
- lib/titlekit/have.rb
|
@@ -110,6 +95,7 @@ files:
|
|
110
95
|
- spec/encoding_detection/c/out.srt
|
111
96
|
- spec/encoding_detection/encoding_detection_spec.rb
|
112
97
|
- spec/files/ass/authentic.ass
|
98
|
+
- spec/files/ass/bom.ass
|
113
99
|
- spec/files/ass/hard.ass
|
114
100
|
- spec/files/ass/simple.ass
|
115
101
|
- spec/files/srt/authentic.srt
|
@@ -191,11 +177,11 @@ files:
|
|
191
177
|
- spec/transcoding/windows-1252_utf-8/in.srt
|
192
178
|
- spec/transcoding/windows-1252_utf-8/out.srt
|
193
179
|
- titlekit.gemspec
|
194
|
-
homepage: https://
|
180
|
+
homepage: https://codeberg.org/simonrepp/titlekit
|
195
181
|
licenses:
|
196
182
|
- MIT
|
197
183
|
metadata: {}
|
198
|
-
post_install_message:
|
184
|
+
post_install_message:
|
199
185
|
rdoc_options: []
|
200
186
|
require_paths:
|
201
187
|
- lib
|
@@ -203,16 +189,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
203
189
|
requirements:
|
204
190
|
- - ">="
|
205
191
|
- !ruby/object:Gem::Version
|
206
|
-
version: 2.
|
192
|
+
version: 2.4.0
|
207
193
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
208
194
|
requirements:
|
209
195
|
- - ">="
|
210
196
|
- !ruby/object:Gem::Version
|
211
197
|
version: '0'
|
212
198
|
requirements: []
|
213
|
-
|
214
|
-
|
215
|
-
signing_key:
|
199
|
+
rubygems_version: 3.2.3
|
200
|
+
signing_key:
|
216
201
|
specification_version: 4
|
217
202
|
summary: Featureful Ruby library for SRT / ASS / SSA subtitles
|
218
203
|
test_files:
|
@@ -233,6 +218,7 @@ test_files:
|
|
233
218
|
- spec/encoding_detection/c/out.srt
|
234
219
|
- spec/encoding_detection/encoding_detection_spec.rb
|
235
220
|
- spec/files/ass/authentic.ass
|
221
|
+
- spec/files/ass/bom.ass
|
236
222
|
- spec/files/ass/hard.ass
|
237
223
|
- spec/files/ass/simple.ass
|
238
224
|
- spec/files/srt/authentic.srt
|
data/.travis.yml
DELETED