htot_conv 0.3.0 → 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/htot_conv/cli.rb +36 -5
- data/lib/htot_conv/generator/xlsx_type3.rb +6 -3
- data/lib/htot_conv/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7d6b05b18971056f0854dc2b5674f8022bc3da6c
|
4
|
+
data.tar.gz: 4009d559fa7b8268f3f56c27767bb1e3b15d9b26
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6d281c8cc12e304d6da77a91c2a1b306aa08e4943f953f955c721bed6cee91fb0a7686600561770cf658307d77cb33486c57f2a33ce5902a148f621f9a4360b1
|
7
|
+
data.tar.gz: a44f3092a705a11583df6c651dedbb4006a6fc6d0a07cb93128e3c34a4ee3696ad8e27dbc73329ed815c184aab7bc830a08abc6e6fb22b0a869957949166ca3d
|
data/lib/htot_conv/cli.rb
CHANGED
@@ -16,7 +16,7 @@ module HTOTConv
|
|
16
16
|
end
|
17
17
|
attr_accessor :options, :from_options, :to_options
|
18
18
|
|
19
|
-
def define_options(opts)
|
19
|
+
def define_options(opts, io_filter=false)
|
20
20
|
opts.banner = %q{Hierarchical-Tree Outline Text Converter}
|
21
21
|
opts.define_head %q{Usage: htot_conv [options] [input] [output]}
|
22
22
|
opts.separator %q{}
|
@@ -53,11 +53,31 @@ module HTOTConv
|
|
53
53
|
|
54
54
|
opts.separator ""
|
55
55
|
opts.separator "I/O Options:"
|
56
|
-
|
57
|
-
|
56
|
+
if io_filter
|
57
|
+
define_sub_options_of(opts, HTOTConv::Parser, options[:from_type], "from") do |key, v|
|
58
|
+
@from_options[key] = v
|
59
|
+
end
|
60
|
+
define_sub_options_of(opts, HTOTConv::Generator, options[:to_type], "from") do |key, v|
|
61
|
+
@to_options[key] = v
|
62
|
+
end
|
63
|
+
else
|
64
|
+
define_sub_options(opts, HTOTConv::Parser, "from") do |key, v|
|
65
|
+
@from_options[key] = v
|
66
|
+
end
|
67
|
+
define_sub_options(opts, HTOTConv::Generator, "to") do |key, v|
|
68
|
+
@to_options[key] = v
|
69
|
+
end
|
58
70
|
end
|
59
|
-
|
60
|
-
|
71
|
+
end
|
72
|
+
|
73
|
+
private
|
74
|
+
def define_sub_options_of(opts, klass, type, prefix) # :yields: key, v
|
75
|
+
type_klass = klass.const_get(Rinne.camelize(type.to_s))
|
76
|
+
type_klass.option_help.each do |key,v|
|
77
|
+
long_option = "--#{prefix}-#{key.to_s.tr('_','-')}"
|
78
|
+
opts.on("#{long_option}=VAL", v[:pat], "For #{type}, #{v[:desc]}") do |v|
|
79
|
+
yield key, v
|
80
|
+
end
|
61
81
|
end
|
62
82
|
end
|
63
83
|
|
@@ -102,6 +122,17 @@ module HTOTConv
|
|
102
122
|
OptionParser.new do |opts|
|
103
123
|
script_opts.define_options(opts)
|
104
124
|
|
125
|
+
begin
|
126
|
+
opts.parse!(args.dup)
|
127
|
+
rescue OptionParser::ParseError => ex
|
128
|
+
$stderr << ex.message << "\n"
|
129
|
+
exit 1
|
130
|
+
end
|
131
|
+
end
|
132
|
+
|
133
|
+
OptionParser.new do |opts|
|
134
|
+
script_opts.define_options(opts, true)
|
135
|
+
|
105
136
|
begin
|
106
137
|
opts.parse!(args)
|
107
138
|
rescue OptionParser::ParseError => ex
|
@@ -23,7 +23,9 @@ module HTOTConv
|
|
23
23
|
ws.add_row([
|
24
24
|
@data.key_header[0],
|
25
25
|
*(HTOTConv::Util.pad_array([@data.value_header[0]], max_level)),
|
26
|
-
*(
|
26
|
+
*(HTOTConv::Util.pad_array(
|
27
|
+
(@data.value_header.length <= 1)? [] : @data.value_header.last(@data.value_header.length - 1),
|
28
|
+
[max_value_length - 1, 0].max)),
|
27
29
|
], :style => Axlsx::STYLE_THIN_BORDER)
|
28
30
|
1.upto(max_level) do |col_idx|
|
29
31
|
edges = [:top, :bottom]
|
@@ -37,8 +39,9 @@ module HTOTConv
|
|
37
39
|
key_value_cell = Array.new(max_level + 1, nil)
|
38
40
|
key_value_cell[item.level - 1] = item.key
|
39
41
|
key_value_cell[item.level ] = item.value[0]
|
40
|
-
rest_value_cell = (
|
41
|
-
|
42
|
+
rest_value_cell = HTOTConv::Util.pad_array(
|
43
|
+
(item.value.length <= 1)? [] : item.value.last(item.value.length - 1),
|
44
|
+
[max_value_length - 1, 0].max)
|
42
45
|
|
43
46
|
ws.add_row(key_value_cell.concat(rest_value_cell),
|
44
47
|
:style => Axlsx::STYLE_THIN_BORDER)
|
data/lib/htot_conv/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: htot_conv
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- "@cat_in_136"
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-11-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: axlsx
|