encoder-tools 0.0.2 → 1.0.0

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 (49) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +12 -23
  3. data/.rspec +3 -0
  4. data/.travis.yml +5 -0
  5. data/CODE_OF_CONDUCT.md +74 -0
  6. data/Gemfile +4 -10
  7. data/Gemfile.lock +37 -83
  8. data/LICENSE +1 -1
  9. data/README.md +14 -0
  10. data/Rakefile +3 -43
  11. data/bin/console +14 -0
  12. data/bin/setup +8 -0
  13. data/encoder-tools.gemspec +28 -0
  14. data/lib/encoder-tools.rb +1 -0
  15. data/lib/encoder-tools/cli.rb +23 -12
  16. data/lib/encoder-tools/cli/subtitles.rb +1 -0
  17. data/lib/encoder-tools/cli/subtitles/base.rb +26 -3
  18. data/lib/encoder-tools/cli/subtitles/fix_lengths.rb +35 -21
  19. data/lib/encoder-tools/cli/subtitles/offset.rb +33 -12
  20. data/lib/encoder-tools/cli/subtitles/renumber.rb +3 -1
  21. data/lib/encoder-tools/cli/subtitles/spell_check.rb +73 -0
  22. data/lib/encoder-tools/subtitles/list.rb +5 -0
  23. data/lib/encoder-tools/subtitles/parser.rb +1 -1
  24. data/lib/encoder-tools/subtitles/subtitle.rb +9 -2
  25. data/lib/encoder-tools/util.rb +5 -0
  26. data/lib/encoder-tools/util/text_reader.rb +26 -0
  27. data/lib/encoder-tools/version.rb +3 -0
  28. metadata +95 -96
  29. data/README.rdoc +0 -17
  30. data/VERSION +0 -1
  31. data/spec/cli/subtitles/fix_lengths_spec.rb +0 -51
  32. data/spec/cli/subtitles/offset_spec.rb +0 -40
  33. data/spec/cli/subtitles/renumber_spec.rb +0 -23
  34. data/spec/fixtures/subtitles/adjusted-long-subtitles.srt +0 -16
  35. data/spec/fixtures/subtitles/bad-numbering-corrected.srt +0 -16
  36. data/spec/fixtures/subtitles/bad-numbering.srt +0 -16
  37. data/spec/fixtures/subtitles/kill-bill-vol-2.srt +0 -345
  38. data/spec/fixtures/subtitles/no-long-subtitles.srt +0 -16
  39. data/spec/fixtures/subtitles/short-example-offset-2.srt +0 -16
  40. data/spec/fixtures/subtitles/short-example-offset-minus-2.srt +0 -16
  41. data/spec/fixtures/subtitles/short-example-offset-plus-2.srt +0 -16
  42. data/spec/fixtures/subtitles/short-example.srt +0 -16
  43. data/spec/fixtures/subtitles/some-long-subtitles.srt +0 -16
  44. data/spec/options/title_spec.rb +0 -41
  45. data/spec/spec.opts +0 -2
  46. data/spec/spec_helper.rb +0 -31
  47. data/spec/strategies/movie_spec.rb +0 -23
  48. data/spec/subtitles/list_spec.rb +0 -57
  49. data/spec/subtitles/subtitle_spec.rb +0 -31
data/README.rdoc DELETED
@@ -1,17 +0,0 @@
1
- = encoder-tools
2
-
3
- Description goes here.
4
-
5
- == Note on Patches/Pull Requests
6
-
7
- * Fork the project.
8
- * Make your feature addition or bug fix.
9
- * Add tests for it. This is important so I don't break it in a
10
- future version unintentionally.
11
- * Commit, do not mess with rakefile, version, or history.
12
- (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
13
- * Send me a pull request. Bonus points for topic branches.
14
-
15
- == Copyright
16
-
17
- Copyright (c) 2010 Brian Donovan. See LICENSE for details.
data/VERSION DELETED
@@ -1 +0,0 @@
1
- 0.0.2
@@ -1,51 +0,0 @@
1
- require File.expand_path('../../../spec_helper', __FILE__)
2
-
3
- describe EncoderTools::CLI::Subtitles::FixLengths do
4
- it_should_behave_like 'a CLI command'
5
- before { stub_shell! }
6
-
7
- context "with no subtitle lengths over the threshold" do
8
- before { input.string = subfile('no-long-subtitles') }
9
-
10
- it "says that there are no subtitles over the threshold" do
11
- shell.should_receive(:say).with("No subtitles found over #{described_class::THRESHOLD}s")
12
- subject.run
13
- end
14
- end
15
-
16
- context "with some subtitle lengths over the threshold" do
17
- before { input.string = subfile('some-long-subtitles') }
18
-
19
- it "asks whether the user wants to fix the long subtitles" do
20
- shell.should_receive(:yes?).with("Found 2 long subtitles. Would you like to fix them?").and_return(false)
21
- subject.run
22
- end
23
-
24
- it "asks for each subtitle how long it should be" do
25
- shell.should_receive(:yes?).and_return(true)
26
- shell.should_receive(:say).with(<<-TEXT)
27
- 00:45:21,373 --> 01:45:22,681 (3601s)
28
- It causes my ears discomfort.
29
-
30
- TEXT
31
- shell.should_receive(:say).with(<<-TEXT)
32
- 01:45:22,748 --> 02:45:24,274 (3601s)
33
- You bray like an ass!
34
-
35
- TEXT
36
- shell.should_receive(:ask).
37
- with("How long should it be?").
38
- twice.
39
- and_return('2')
40
- subject.run
41
- end
42
-
43
- it "writes the adjusted subtitles" do
44
- shell.should_receive(:yes?).and_return(true)
45
- shell.should_receive(:say).twice
46
- shell.should_receive(:ask).twice.and_return('2')
47
- subject.run
48
- output.string.should == subfile('adjusted-long-subtitles')
49
- end
50
- end
51
- end
@@ -1,40 +0,0 @@
1
- require File.expand_path('../../../spec_helper', __FILE__)
2
-
3
- describe EncoderTools::CLI::Subtitles::Offset do
4
- it_should_behave_like 'a CLI command'
5
-
6
- it "does nothing with an empty subtitle list" do
7
- options[:offset] = '+0'
8
- input.string = ""
9
- subject.run
10
- output.string.should == ""
11
- end
12
-
13
- it "does not alter a subtitle list with zero offset" do
14
- options[:offset] = '+0'
15
- input.string = subfile("kill-bill-vol-2")
16
- subject.run
17
- output.string.should == subfile("kill-bill-vol-2")
18
- end
19
-
20
- it "writes a file with positive offset" do
21
- options[:offset] = '+2'
22
- input.string = subfile("short-example")
23
- subject.run
24
- output.string.should == subfile("short-example-offset-plus-2")
25
- end
26
-
27
- it "writes a file with negative offset" do
28
- options[:offset] = '-2'
29
- input.string = subfile("short-example")
30
- subject.run
31
- output.string.should == subfile("short-example-offset-minus-2")
32
- end
33
-
34
- it "writes a file with absolute offset" do
35
- options[:offset] = '2'
36
- input.string = subfile("short-example")
37
- subject.run
38
- output.string.should == subfile("short-example-offset-2")
39
- end
40
- end
@@ -1,23 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
2
-
3
- describe EncoderTools::CLI::Subtitles::Renumber do
4
- it_should_behave_like 'a CLI command'
5
-
6
- it "does nothing with an empty subtitle list" do
7
- input.string = ""
8
- subject.run
9
- output.string.should == ""
10
- end
11
-
12
- it "does not alter a correctly-numbered subtitle list" do
13
- input.string = subfile("kill-bill-vol-2")
14
- subject.run
15
- output.string.should == subfile("kill-bill-vol-2")
16
- end
17
-
18
- it "fixes bad numbering in a subtitle list" do
19
- input.string = subfile("bad-numbering")
20
- subject.run
21
- output.string.should == subfile("bad-numbering-corrected")
22
- end
23
- end
@@ -1,16 +0,0 @@
1
- 1
2
- 00:45:16,000 --> 00:45:17,145
3
- Master...
4
-
5
- 2
6
- 00:45:18,815 --> 00:45:20,440
7
- Your Mandarin is lousy.
8
-
9
- 3
10
- 00:45:21,373 --> 00:45:23,373
11
- It causes my ears discomfort.
12
-
13
- 4
14
- 01:45:22,748 --> 01:45:24,748
15
- You bray like an ass!
16
-
@@ -1,16 +0,0 @@
1
- 1
2
- 00:45:16,000 --> 00:45:17,145
3
- Master...
4
-
5
- 2
6
- 00:45:18,815 --> 00:45:20,440
7
- Your Mandarin is lousy.
8
-
9
- 3
10
- 00:45:21,373 --> 00:45:22,681
11
- It causes my ears discomfort.
12
-
13
- 4
14
- 00:45:22,748 --> 00:45:24,274
15
- You bray like an ass!
16
-
@@ -1,16 +0,0 @@
1
- 5
2
- 00:45:16,000 --> 00:45:17,145
3
- Master...
4
-
5
- 9
6
- 00:45:18,815 --> 00:45:20,440
7
- Your Mandarin is lousy.
8
-
9
- 12
10
- 00:45:21,373 --> 00:45:22,681
11
- It causes my ears discomfort.
12
-
13
- 899
14
- 00:45:22,748 --> 00:45:24,274
15
- You bray like an ass!
16
-
@@ -1,345 +0,0 @@
1
- 1
2
- 00:45:16,000 --> 00:45:17,145
3
- Master...
4
-
5
- 2
6
- 00:45:18,815 --> 00:45:20,440
7
- Your Mandarin is lousy.
8
-
9
- 3
10
- 00:45:21,373 --> 00:45:22,681
11
- It causes my ears discomfort.
12
-
13
- 4
14
- 00:45:22,748 --> 00:45:24,274
15
- You bray like an ass!
16
-
17
- 5
18
- 00:45:25,050 --> 00:45:27,089
19
- You are not to speak unless spoken to.
20
-
21
- 6
22
- 00:45:27,960 --> 00:45:31,405
23
- Is it too much to hope...
24
- you understand Cantonese?
25
-
26
- 7
27
- 00:45:34,995 --> 00:45:36,423
28
- I speak Japanese very well...
29
-
30
- 8
31
- 00:45:36,498 --> 00:45:39,562
32
- I didn't ask if you speak Japanese...
33
-
34
- 9
35
- 00:45:39,632 --> 00:45:41,802
36
- I asked if you understand Cantonese?
37
-
38
- 10
39
- 00:45:44,780 --> 00:45:49,185
40
- You are here to learn the mysteries of
41
- Kung Fu, not linguistics.
42
-
43
- 11
44
- 00:45:49,577 --> 00:45:53,186
45
- If you can't understand me... I will
46
- communicate with you like I would a dog.
47
-
48
- 12
49
- 00:45:53,383 --> 00:45:56,729
50
- When I yell, when I point, when I beat you
51
- with my stick!
52
-
53
- 13
54
- 00:46:02,433 --> 00:46:04,341
55
- Bill is your master, is he not?
56
-
57
- 14
58
- 00:46:09,851 --> 00:46:14,321
59
- Your master tells me...
60
- you're not entirely unschooled.
61
-
62
- 15
63
- 00:46:14,392 --> 00:46:15,700
64
- What training do you possess?
65
-
66
- 16
67
- 00:46:24,273 --> 00:46:27,718
68
- The exquisite art of the Samurai sword.
69
- Don't make me laugh!
70
-
71
- 17
72
- 00:46:27,790 --> 00:46:31,617
73
- Your so-called exquisite art,
74
- is only fit for...
75
-
76
- 18
77
- 00:46:31,692 --> 00:46:33,446
78
- Japanese fat heads!
79
-
80
- 19
81
- 00:46:38,375 --> 00:46:43,293
82
- Your anger amuses me. Do you believe
83
- you are my match?
84
-
85
- 20
86
- 00:46:43,811 --> 00:46:44,378
87
- No.
88
-
89
- 21
90
- 00:46:45,186 --> 00:46:47,073
91
- Are you aware I kill at will?
92
-
93
- 22
94
- 00:46:47,713 --> 00:46:48,727
95
- Yes.
96
-
97
- 23
98
- 00:46:49,215 --> 00:46:50,556
99
- Is it your wish to die?
100
-
101
- 24
102
- 00:46:50,942 --> 00:46:51,291
103
- No.
104
-
105
- 25
106
- 00:46:53,373 --> 00:46:54,266
107
- Then you must be stupid...
108
-
109
- 26
110
- 00:46:54,300 --> 00:46:56,600
111
- Then you must be stupid... so stupid.
112
-
113
- 27
114
- 00:46:56,667 --> 00:47:00,242
115
- Rise, and let me look at your
116
- ridiculous face.
117
-
118
- 28
119
- 00:47:00,727 --> 00:47:01,839
120
- Rise.
121
-
122
- 29
123
- 00:47:06,196 --> 00:47:11,560
124
- So my pathetic friend...
125
- Is there anything that you can do well?
126
-
127
- 30
128
- 00:47:12,399 --> 00:47:14,253
129
- What's the matter?
130
-
131
- 31
132
- 00:47:14,670 --> 00:47:16,523
133
- Cat got your tongue?
134
-
135
- 32
136
- 00:47:17,931 --> 00:47:20,777
137
- - Oh yes, you speak Japanese.
138
-
139
- 33
140
- 00:47:21,385 --> 00:47:22,758
141
- I despise the Goddamn Japs!
142
-
143
- 34
144
- 00:47:25,670 --> 00:47:27,327
145
- Go to that rack.
146
-
147
- 35
148
- 00:47:35,296 --> 00:47:36,223
149
- Remove the sword.
150
-
151
- 36
152
- 00:48:01,453 --> 00:48:03,175
153
- Let's see how good you really are.
154
-
155
- 37
156
- 00:48:04,012 --> 00:48:05,571
157
- If...
158
-
159
- 38
160
- 00:48:06,218 --> 00:48:07,842
161
- ...you land a single blow,
162
-
163
- 39
164
- 00:48:09,512 --> 00:48:11,169
165
- I'll bow down and call you master.
166
-
167
- 40
168
- 00:48:24,828 --> 00:48:27,128
169
- From here you can get an excellent
170
- view of my foot.
171
-
172
- 41
173
- 00:48:32,151 --> 00:48:35,346
174
- Your swordsmanship... is amateur at best.
175
-
176
- 42
177
- 00:48:48,908 --> 00:48:54,022
178
- Your so-called kung-fu... is really...
179
- quite pathetic.
180
-
181
- 43
182
- 00:48:56,742 --> 00:49:00,384
183
- I asked you to demonstrate... what you know
184
- - and you did...
185
-
186
- 44
187
- 00:49:01,060 --> 00:49:02,204
188
- Not a goddamn thing!
189
-
190
- 45
191
- 00:49:03,234 --> 00:49:06,712
192
- Let's see your Tiger Crane...
193
- match my Eagle's Claw.
194
-
195
- 46
196
- 00:50:01,497 --> 00:50:03,384
197
- Like all Yankee women...
198
-
199
- 47
200
- 00:50:03,448 --> 00:50:06,794
201
- ...all you can do is order in restaurants
202
- and spend a man's money.
203
-
204
- 48
205
- 00:50:07,893 --> 00:50:09,550
206
- Excruciating... isn't it?
207
-
208
- 49
209
- 00:50:09,620 --> 00:50:10,731
210
- Yes!
211
-
212
- 50
213
- 00:50:12,242 --> 00:50:13,517
214
- If it was my wish...
215
-
216
- 51
217
- 00:50:14,000 --> 00:50:15,276
218
- ...I could chop your arm off.
219
-
220
- 52
221
- 00:50:17,966 --> 00:50:20,168
222
- It's my arm now. I can do what I please.
223
-
224
- 53
225
- 00:50:20,780 --> 00:50:22,917
226
- If you can stop me... I suggest you try.
227
-
228
- 54
229
- 00:50:25,065 --> 00:50:26,013
230
- I can't.
231
-
232
- 55
233
- 00:50:27,143 --> 00:50:28,320
234
- Because you're helpless?
235
-
236
- 56
237
- 00:50:29,158 --> 00:50:30,019
238
- Yes.
239
-
240
- 57
241
- 00:50:32,548 --> 00:50:34,554
242
- Have you ever felt this before?
243
-
244
- 58
245
- 00:50:34,946 --> 00:50:35,708
246
- No.
247
-
248
- 59
249
- 00:50:36,065 --> 00:50:39,227
250
- Compared to me... you're as helpless
251
- as a worm fighting an eagle?
252
-
253
- 60
254
- 00:50:40,191 --> 00:50:41,335
255
- YES!!!
256
-
257
- 61
258
- 00:50:43,452 --> 00:50:44,150
259
- THAT'S THE BEGINNING!
260
-
261
- 62
262
- 00:50:49,687 --> 00:50:52,206
263
- Is it your wish to possess this
264
- kind of power?
265
-
266
- 63
267
- 00:50:57,842 --> 00:51:00,491
268
- Your training will begin... tomorrow.
269
-
270
- 64
271
- 00:51:08,906 --> 00:51:10,215
272
- Since your arm now belongs to me...
273
-
274
- 65
275
- 00:51:11,081 --> 00:51:12,324
276
- ...I want it strong.
277
-
278
- 66
279
- 00:51:13,831 --> 00:51:15,171
280
- Can you do that?
281
-
282
- 67
283
- 00:51:16,804 --> 00:51:18,396
284
- I can, but not that close.
285
-
286
- 68
287
- 00:51:18,564 --> 00:51:19,807
288
- Then you can't do it.
289
-
290
- 69
291
- 00:51:20,993 --> 00:51:24,603
292
- What if your enemy... is three inches
293
- in front of you...
294
-
295
- 70
296
- 00:51:25,631 --> 00:51:26,840
297
- ...What do you do then...
298
-
299
- 71
300
- 00:51:27,933 --> 00:51:28,980
301
- ...Curl into a ball...
302
-
303
- 72
304
- 00:51:30,587 --> 00:51:31,796
305
- ...or do you put your FIST through him?
306
-
307
- 73
308
- 00:51:33,306 --> 00:51:34,036
309
- Now begin.
310
-
311
- 74
312
- 00:52:04,931 --> 00:52:08,823
313
- It's the wood that should fear your hand...
314
- - not the other way around.
315
-
316
- 75
317
- 00:52:09,600 --> 00:52:15,128
318
- No wonder you can't do it... you acquiesce
319
- to defeat... before you even begin.
320
-
321
- 76
322
- 00:53:59,091 --> 00:54:01,228
323
- If you want to eat like a dog...
324
-
325
- 77
326
- 00:54:02,449 --> 00:54:04,358
327
- You can live and sleep outside like a dog.
328
-
329
- 78
330
- 00:54:06,766 --> 00:54:08,587
331
- If you want to live and sleep
332
- like a human...
333
-
334
- 79
335
- 00:54:10,124 --> 00:54:11,552
336
- ...pick up those sticks.
337
-
338
- 80
339
- 01:15:10,000 --> 01:15:13,440
340
- Elle, you treacherous dog.
341
-
342
- 81
343
- 01:15:18,000 --> 01:15:20,300
344
- I - give - you - my - word...
345
-