srttool 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 44e14f41076044ed866c3b30494a19b9584b452469a1bc1e70d371be4cff3812
4
+ data.tar.gz: 750e2f3e51663a75053fb48bd35fd6bb0cf7b2b60e091668488e7b2171096cd6
5
+ SHA512:
6
+ metadata.gz: 2f02890cf5195686d2ff37e03106cf40857f16dc11b14caceb028a681d447407d3338627a3fe2d9b50b53e5f8d848b3690ae32568d14785f8d1b9f74eeba2849
7
+ data.tar.gz: 37bba97115e9f5ddb20f8cce6e0923965decc62d7b9a4f6724e402bc8edaed00c9f25e948c998b21895fdbe55e0f0fdb3c19b04150c95f0ac35a559737a053f4
@@ -0,0 +1,3 @@
1
+ #! /usr/bin/env ruby
2
+
3
+ require 'srttool'
@@ -0,0 +1,25 @@
1
+ require 'clamp'
2
+ require 'srt'
3
+ require 'progressbar'
4
+
5
+ class SplitCommand < Clamp::Command
6
+ option ['-i', '--interval'], 'INTERVAL', 'Split interval (format: DD:MM:SS,ZZZ)', required: true
7
+ option ['-p', '--prefix'], 'PREFIX', 'Output file prefix', default: 'subtitle'
8
+ option '--output-dir', 'OUTPUT DIR', 'Output directory', default: './'
9
+ option '--starting-index', 'STARTING INDEX', 'Starting index on splitted SRTs', default: 1
10
+ option '--[no-]renumber', :flag, 'Renumber SRT sequence number', default: true
11
+
12
+ parameter 'SRT FILE PATH', 'SRT file path to split', attribute_name: :path
13
+
14
+ def execute
15
+ file = File.open(path)
16
+ srt = SRT::File.parse(file)
17
+ results = srt.split(every: interval, renumber: renumber?)
18
+ progress = ProgressBar.create(title: 'Saving subtitle', starting_at: 0, total: results.length)
19
+
20
+ results.each_with_index do |line, index|
21
+ File.write("#{output_dir}/#{prefix}-#{'%03d' % (starting_index.to_i+index)}.srt", line.to_s)
22
+ progress.increment
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,7 @@
1
+ require 'clamp'
2
+
3
+ require_relative 'split_command'
4
+
5
+ class SrttoolCommand < Clamp::Command
6
+ subcommand 'split', 'Split SRT file', SplitCommand
7
+ end
@@ -0,0 +1,3 @@
1
+ require_relative 'commands/srttool_command'
2
+
3
+ SrttoolCommand.run
@@ -0,0 +1,3 @@
1
+ module Srttool
2
+ VERSION = '0.0.2'
3
+ end
metadata ADDED
@@ -0,0 +1,91 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: srttool
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.2
5
+ platform: ruby
6
+ authors:
7
+ - Willy Jansen
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2020-12-27 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: clamp
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: srt
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: progressbar
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'
55
+ description: Srttool is a cli command to manipulate subrip text (srt)
56
+ email:
57
+ - willyjansen@protonmail.com
58
+ executables:
59
+ - srttool
60
+ extensions: []
61
+ extra_rdoc_files: []
62
+ files:
63
+ - bin/srttool
64
+ - lib/commands/split_command.rb
65
+ - lib/commands/srttool_command.rb
66
+ - lib/srttool.rb
67
+ - lib/version.rb
68
+ homepage: https://github.com/willyjl/srttool
69
+ licenses:
70
+ - MIT
71
+ metadata: {}
72
+ post_install_message:
73
+ rdoc_options: []
74
+ require_paths:
75
+ - lib
76
+ required_ruby_version: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - ">="
79
+ - !ruby/object:Gem::Version
80
+ version: '0'
81
+ required_rubygems_version: !ruby/object:Gem::Requirement
82
+ requirements:
83
+ - - ">="
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
86
+ requirements: []
87
+ rubygems_version: 3.2.3
88
+ signing_key:
89
+ specification_version: 4
90
+ summary: cli tool for subrip text (srt)
91
+ test_files: []