vtt2ass 0.3.4 → 0.3.6

Sign up to get free protection for your applications and to get access to all the features.
data/lib/vtt2ass.rb CHANGED
@@ -1,30 +1,75 @@
1
- # Imports
1
+ # frozen_string_literal: true
2
+
2
3
  require 'thor'
3
4
 
4
- # Relative imports
5
5
  require_relative 'vtt2ass/version'
6
6
  require_relative 'vtt2ass/application'
7
7
 
8
+ ##
9
+ # This is the main command line Class that manages the provided CLI arguments.
8
10
  class MainCommand < Thor
9
- def self.exit_on_failure?
10
- true
11
- end
11
+ def self.exit_on_failure?
12
+ true
13
+ end
12
14
 
13
- desc 'convert INPUT', 'Run the VTT to ASS conversion for the specified file(s)'
14
- method_option :output, :aliases => '-o', :desc => 'Output directory of the converted file' , :lazy_default => './', :type => :string
15
- method_option :title, :aliases => '-t', :desc => 'Specify a title for you file. If the input is a directory, all files will share the same title.', :type => :string
16
- method_option :font_size, :aliases => '-s', :desc => 'Specify a font size for the subtitles', :default => 52, :type => :numeric
17
- method_option :font_family, :aliases => '-f', :desc => 'Specify a font family for the subtitles', :default => 'Open Sans Semibold', :type => :string
18
- method_option :css, :aliases => '-c', :desc => 'Specify a CSS file path for Hidive subs', :type => :string
19
- method_option :line_offset, :aliases => '-l', :desc => 'Specify a line offset for the main dialog (e.g. 50 lowers the text line by 50px of the total height)', :default => 0, :type => :numeric
20
- method_option :quiet, :aliases => '-q', :desc => 'Don\'t output to the console', :type => :boolean
21
- def convert(input)
22
- app = Application.new(input, options)
23
- app.start
24
- end
15
+ desc 'convert INPUT', 'Run the VTT to ASS conversion for the specified file(s)'
16
+ method_option :output,
17
+ aliases: '-o',
18
+ desc: 'Output directory of the converted file',
19
+ lazy_default: './',
20
+ type: :string
21
+ method_option :title,
22
+ aliases: '-t',
23
+ desc: 'Specify a title for you file. If the input is a directory, '\
24
+ 'all files will share the same title.',
25
+ type: :string
26
+ method_option :font_size,
27
+ aliases: '-s',
28
+ desc: 'Specify a font size for the subtitles',
29
+ default: 52,
30
+ type: :numeric
31
+ method_option :font_family,
32
+ aliases: '-f',
33
+ desc: 'Specify a font family for the subtitles',
34
+ default: 'Open Sans Semibold',
35
+ type: :string
36
+ method_option :css,
37
+ aliases: '-c',
38
+ desc: 'Specify a CSS file path for Hidive subs',
39
+ type: :string
40
+ method_option :line_offset,
41
+ aliases: '-l',
42
+ desc: 'Specify a line offset for the main dialog (e.g. 50 lowers the '\
43
+ 'text line by 50px of the total height)',
44
+ default: 0,
45
+ type: :numeric
46
+ method_option :caption_offset,
47
+ aliases: '-z',
48
+ desc: 'Specify a line offset for the captions (e.g. 50 lowers the '\
49
+ 'text line by 50px of the total height)',
50
+ default: 0,
51
+ type: :numeric
52
+ method_option :width,
53
+ aliases: '-w',
54
+ desc: 'Specify the video width',
55
+ default: 1920,
56
+ type: :numeric
57
+ method_option :height,
58
+ aliases: '-h',
59
+ desc: 'Specify the video height',
60
+ default: 1080,
61
+ type: :numeric
62
+ method_option :quiet,
63
+ aliases: '-q',
64
+ desc: 'Don\'t output to the console',
65
+ type: :boolean
66
+ def convert(input)
67
+ app = Application.new(input, options)
68
+ app.start
69
+ end
25
70
 
26
- desc 'version', 'Show version'
27
- def version
28
- puts Vtt2ass::VERSION
29
- end
71
+ desc 'version', 'Show version'
72
+ def version
73
+ puts Vtt2ass::VERSION
74
+ end
30
75
  end
data/vtt2ass.gemspec CHANGED
@@ -1,36 +1,40 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'lib/vtt2ass/version'
2
4
 
3
5
  Gem::Specification.new do |spec|
4
- spec.name = "vtt2ass"
6
+ spec.name = 'vtt2ass'
5
7
  spec.version = Vtt2ass::VERSION
6
- spec.authors = ["Louis-Philippe Fortin"]
7
- spec.email = ["timemaster.lpf@gmail.com"]
8
+ spec.authors = ['Louis-Philippe Fortin']
9
+ spec.email = ['timemaster.lpf@gmail.com']
8
10
 
9
- spec.summary = "Convert VTT subtitles to ASS subtitles"
10
- spec.homepage = "https://gitlab.com/dkb-weeblets/vtt2ass"
11
- spec.license = "MIT"
12
- spec.required_ruby_version = Gem::Requirement.new(">= 2.7.2")
11
+ spec.summary = 'Convert VTT subtitles to ASS subtitles'
12
+ spec.homepage = 'https://gitlab.com/dkb-weeblets/vtt2ass'
13
+ spec.license = 'MIT'
14
+ spec.required_ruby_version = Gem::Requirement.new('>= 2.7.2')
13
15
 
14
- spec.metadata["allowed_push_host"] = "https://rubygems.org"
16
+ spec.metadata['allowed_push_host'] = 'https://rubygems.org'
15
17
 
16
- spec.metadata["homepage_uri"] = spec.homepage
17
- spec.metadata["source_code_uri"] = spec.homepage
18
+ spec.metadata['homepage_uri'] = spec.homepage
19
+ spec.metadata['source_code_uri'] = spec.homepage
18
20
 
19
21
  # Specify which files should be added to the gem when it is released.
20
22
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
21
- spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
23
+ spec.files = Dir.chdir(File.expand_path(__dir__)) do
22
24
  `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
23
25
  end
24
- spec.bindir = "exe"
26
+ spec.bindir = 'exe'
25
27
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
26
- spec.require_paths = ["lib"]
28
+ spec.require_paths = ['lib']
27
29
 
28
- spec.add_dependency 'htmlentities', '~> 4.3'
29
- spec.add_dependency 'thor', '~> 1.1'
30
30
  spec.add_dependency 'css_parser', '~> 1.10'
31
+ spec.add_dependency 'htmlentities', '~> 4.3'
31
32
  spec.add_dependency 'redgreenblue', '~> 0.15'
33
+ spec.add_dependency 'thor', '~> 1.1'
32
34
 
33
- spec.add_development_dependency 'rake', '~> 12.0'
34
35
  spec.add_development_dependency 'minitest', '~> 5.0'
36
+ spec.add_development_dependency 'rake', '~> 12.0'
37
+ spec.add_development_dependency 'rubocop', '~> 1.38'
35
38
  spec.add_development_dependency 'yard', '~> 0.9'
39
+ spec.metadata['rubygems_mfa_required'] = 'true'
36
40
  end
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vtt2ass
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.4
4
+ version: 0.3.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Louis-Philippe Fortin
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-05-25 00:00:00.000000000 Z
11
+ date: 2022-11-13 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: css_parser
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.10'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.10'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: htmlentities
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -25,47 +39,47 @@ dependencies:
25
39
  - !ruby/object:Gem::Version
26
40
  version: '4.3'
27
41
  - !ruby/object:Gem::Dependency
28
- name: thor
42
+ name: redgreenblue
29
43
  requirement: !ruby/object:Gem::Requirement
30
44
  requirements:
31
45
  - - "~>"
32
46
  - !ruby/object:Gem::Version
33
- version: '1.1'
47
+ version: '0.15'
34
48
  type: :runtime
35
49
  prerelease: false
36
50
  version_requirements: !ruby/object:Gem::Requirement
37
51
  requirements:
38
52
  - - "~>"
39
53
  - !ruby/object:Gem::Version
40
- version: '1.1'
54
+ version: '0.15'
41
55
  - !ruby/object:Gem::Dependency
42
- name: css_parser
56
+ name: thor
43
57
  requirement: !ruby/object:Gem::Requirement
44
58
  requirements:
45
59
  - - "~>"
46
60
  - !ruby/object:Gem::Version
47
- version: '1.10'
61
+ version: '1.1'
48
62
  type: :runtime
49
63
  prerelease: false
50
64
  version_requirements: !ruby/object:Gem::Requirement
51
65
  requirements:
52
66
  - - "~>"
53
67
  - !ruby/object:Gem::Version
54
- version: '1.10'
68
+ version: '1.1'
55
69
  - !ruby/object:Gem::Dependency
56
- name: redgreenblue
70
+ name: minitest
57
71
  requirement: !ruby/object:Gem::Requirement
58
72
  requirements:
59
73
  - - "~>"
60
74
  - !ruby/object:Gem::Version
61
- version: '0.15'
62
- type: :runtime
75
+ version: '5.0'
76
+ type: :development
63
77
  prerelease: false
64
78
  version_requirements: !ruby/object:Gem::Requirement
65
79
  requirements:
66
80
  - - "~>"
67
81
  - !ruby/object:Gem::Version
68
- version: '0.15'
82
+ version: '5.0'
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: rake
71
85
  requirement: !ruby/object:Gem::Requirement
@@ -81,19 +95,19 @@ dependencies:
81
95
  - !ruby/object:Gem::Version
82
96
  version: '12.0'
83
97
  - !ruby/object:Gem::Dependency
84
- name: minitest
98
+ name: rubocop
85
99
  requirement: !ruby/object:Gem::Requirement
86
100
  requirements:
87
101
  - - "~>"
88
102
  - !ruby/object:Gem::Version
89
- version: '5.0'
103
+ version: '1.38'
90
104
  type: :development
91
105
  prerelease: false
92
106
  version_requirements: !ruby/object:Gem::Requirement
93
107
  requirements:
94
108
  - - "~>"
95
109
  - !ruby/object:Gem::Version
96
- version: '5.0'
110
+ version: '1.38'
97
111
  - !ruby/object:Gem::Dependency
98
112
  name: yard
99
113
  requirement: !ruby/object:Gem::Requirement
@@ -118,6 +132,7 @@ extra_rdoc_files: []
118
132
  files:
119
133
  - ".gitignore"
120
134
  - ".gitlab-ci.yml"
135
+ - ".rubocop.yml"
121
136
  - Gemfile
122
137
  - LICENSE.txt
123
138
  - README.md
@@ -172,6 +187,7 @@ metadata:
172
187
  allowed_push_host: https://rubygems.org
173
188
  homepage_uri: https://gitlab.com/dkb-weeblets/vtt2ass
174
189
  source_code_uri: https://gitlab.com/dkb-weeblets/vtt2ass
190
+ rubygems_mfa_required: 'true'
175
191
  post_install_message:
176
192
  rdoc_options: []
177
193
  require_paths: