sanzang 1.0.1 → 1.0.2
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 +4 -4
- data/lib/sanzang/command/batch.rb +9 -3
- data/lib/sanzang/command/reflow.rb +12 -4
- data/lib/sanzang/command/sanzang_cmd.rb +3 -2
- data/lib/sanzang/command/translate.rb +25 -7
- data/lib/sanzang/translation_table.rb +4 -3
- data/lib/sanzang/translator.rb +8 -5
- data/lib/sanzang/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e46c28d14de2815bbd9dfaf3fa7cb9ed89555385
|
4
|
+
data.tar.gz: 5808fe326032855a17222e714daca783808872cc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f2c2312ff05514cf05a340c177e57ee271a941a6ec9124b61a04e71dcd38d1d0c1f40cbea21de2f178a03f66cd4ca5107f980e69b7f7a48f3cbddbd186fa37d7
|
7
|
+
data.tar.gz: 2592b320420505a7337c404689babfb6dbf909fe76654aa8e51a85f65781b246af74a356fcbc7eb15ba2516ed2bcc5c688a700c27584cc92d4b0564a9b7a7e9d
|
@@ -38,6 +38,7 @@ module Sanzang::Command
|
|
38
38
|
@encoding = nil
|
39
39
|
@outdir = nil
|
40
40
|
@jobs = nil
|
41
|
+
@verbose = false
|
41
42
|
end
|
42
43
|
|
43
44
|
# Run the batch command with the given arguments. The parameter _args_
|
@@ -68,11 +69,13 @@ module Sanzang::Command
|
|
68
69
|
return 0
|
69
70
|
rescue SystemExit => err
|
70
71
|
return err.status
|
71
|
-
rescue Errno::EPIPE
|
72
|
+
rescue Errno::EPIPE
|
72
73
|
return 0
|
73
74
|
rescue Exception => err
|
74
|
-
|
75
|
-
|
75
|
+
if @verbose
|
76
|
+
$stderr.puts err.backtrace
|
77
|
+
end
|
78
|
+
$stderr.puts err.inspect
|
76
79
|
return 1
|
77
80
|
end
|
78
81
|
|
@@ -122,6 +125,9 @@ module Sanzang::Command
|
|
122
125
|
op.on("-j", "--jobs=N", "allow N concurrent processes") do |v|
|
123
126
|
@jobs = v.to_i
|
124
127
|
end
|
128
|
+
op.on("-v", "--verbose", "verbose mode for debugging") do |v|
|
129
|
+
@verbose = true
|
130
|
+
end
|
125
131
|
end
|
126
132
|
end
|
127
133
|
|
@@ -32,15 +32,18 @@ module Sanzang::Command
|
|
32
32
|
#
|
33
33
|
class Reflow
|
34
34
|
|
35
|
-
# Create a new instance of the reflow command
|
35
|
+
# Create a new instance of the reflow command.
|
36
36
|
#
|
37
37
|
def initialize
|
38
38
|
@name = "sanzang reflow"
|
39
39
|
@encoding = Encoding.default_external
|
40
40
|
@infile = nil
|
41
41
|
@outfile = nil
|
42
|
+
@verbose = false
|
42
43
|
end
|
43
44
|
|
45
|
+
# Get a list of all acceptable text encodings.
|
46
|
+
#
|
44
47
|
def valid_encodings
|
45
48
|
all_enc = Encoding.list.collect {|e| e.to_s }.sort do |x,y|
|
46
49
|
x.upcase <=> y.upcase
|
@@ -88,11 +91,13 @@ module Sanzang::Command
|
|
88
91
|
return 0
|
89
92
|
rescue SystemExit => err
|
90
93
|
return err.status
|
91
|
-
rescue Errno::EPIPE
|
94
|
+
rescue Errno::EPIPE
|
92
95
|
return 0
|
93
96
|
rescue Exception => err
|
94
|
-
|
95
|
-
|
97
|
+
if @verbose
|
98
|
+
$stderr.puts err.backtrace
|
99
|
+
end
|
100
|
+
$stderr.puts err.inspect
|
96
101
|
return 1
|
97
102
|
end
|
98
103
|
|
@@ -140,6 +145,9 @@ module Sanzang::Command
|
|
140
145
|
op.on("-o", "--outfile=FILE", "write output text to FILE") do |v|
|
141
146
|
@outfile = v
|
142
147
|
end
|
148
|
+
op.on("-v", "--verbose", "verbose mode for debugging") do |v|
|
149
|
+
@verbose = true
|
150
|
+
end
|
143
151
|
end
|
144
152
|
end
|
145
153
|
|
@@ -67,9 +67,10 @@ module Sanzang::Command
|
|
67
67
|
return 1
|
68
68
|
rescue SystemExit => err
|
69
69
|
return err.status
|
70
|
+
rescue Errno::EPIPE
|
71
|
+
return 0
|
70
72
|
rescue Exception => err
|
71
|
-
$stderr.puts err.
|
72
|
-
$stderr.puts "ERROR: #{err.inspect}"
|
73
|
+
$stderr.puts err.inspect
|
73
74
|
return 1
|
74
75
|
end
|
75
76
|
|
@@ -37,6 +37,22 @@ module Sanzang::Command
|
|
37
37
|
@encoding = nil
|
38
38
|
@infile = nil
|
39
39
|
@outfile = nil
|
40
|
+
@verbose = false
|
41
|
+
end
|
42
|
+
|
43
|
+
# Get a list of all acceptable text encodings.
|
44
|
+
#
|
45
|
+
def valid_encodings
|
46
|
+
all_enc = Encoding.list.collect {|e| e.to_s }.sort do |x,y|
|
47
|
+
x.upcase <=> y.upcase
|
48
|
+
end
|
49
|
+
all_enc.find_all do |e|
|
50
|
+
begin
|
51
|
+
Encoding::Converter.search_convpath(e, Encoding::UTF_8)
|
52
|
+
rescue Encoding::ConverterNotFoundError
|
53
|
+
e == "UTF-8" ? true : false
|
54
|
+
end
|
55
|
+
end
|
40
56
|
end
|
41
57
|
|
42
58
|
# Run the translate command with the given arguments. The parameter _args_
|
@@ -79,11 +95,13 @@ module Sanzang::Command
|
|
79
95
|
return 0
|
80
96
|
rescue SystemExit => err
|
81
97
|
return err.status
|
82
|
-
rescue Errno::EPIPE
|
98
|
+
rescue Errno::EPIPE
|
83
99
|
return 0
|
84
100
|
rescue Exception => err
|
85
|
-
|
86
|
-
|
101
|
+
if @verbose
|
102
|
+
$stderr.puts err.backtrace
|
103
|
+
end
|
104
|
+
$stderr.puts err.inspect
|
87
105
|
return 1
|
88
106
|
end
|
89
107
|
|
@@ -124,10 +142,7 @@ module Sanzang::Command
|
|
124
142
|
@encoding = Encoding.find(v)
|
125
143
|
end
|
126
144
|
op.on("-L", "--list-encodings", "list possible encodings") do |v|
|
127
|
-
|
128
|
-
x.to_s.upcase <=> y.to_s.upcase
|
129
|
-
end
|
130
|
-
puts encodings
|
145
|
+
puts valid_encodings
|
131
146
|
exit 0
|
132
147
|
end
|
133
148
|
op.on("-i", "--infile=FILE", "read input text from FILE") do |v|
|
@@ -136,6 +151,9 @@ module Sanzang::Command
|
|
136
151
|
op.on("-o", "--outfile=FILE", "write output text to FILE") do |v|
|
137
152
|
@outfile = v
|
138
153
|
end
|
154
|
+
op.on("-v", "--verbose", "verbose mode for debugging") do |v|
|
155
|
+
@verbose = true
|
156
|
+
end
|
139
157
|
end
|
140
158
|
end
|
141
159
|
|
@@ -42,11 +42,12 @@ module Sanzang
|
|
42
42
|
#
|
43
43
|
def initialize(rules)
|
44
44
|
contents = rules.kind_of?(String) ? rules : rules.read
|
45
|
+
contents.encode!(Encoding::UTF_8)
|
45
46
|
@encoding = contents.encoding
|
46
47
|
|
47
|
-
left = "~|"
|
48
|
-
right = "|~"
|
49
|
-
separator = "|"
|
48
|
+
left = "~|"
|
49
|
+
right = "|~"
|
50
|
+
separator = "|"
|
50
51
|
|
51
52
|
@records = contents.gsub("\r", "").split("\n").collect do |rec|
|
52
53
|
rec.strip.gsub(left, "").gsub(right, "").split(separator)
|
data/lib/sanzang/translator.rb
CHANGED
@@ -48,9 +48,9 @@ module Sanzang
|
|
48
48
|
end
|
49
49
|
|
50
50
|
# Use the TranslationTable of the Translator to create translations for
|
51
|
-
# each destination language column of the translation table.
|
52
|
-
#
|
53
|
-
#
|
51
|
+
# each destination language column of the translation table. The result is
|
52
|
+
# a simple Array of String objects, with each String object corresponding
|
53
|
+
# to a destination language column in the TranslationTable.
|
54
54
|
#
|
55
55
|
def translate(source_text)
|
56
56
|
text_collection = [source_text]
|
@@ -70,10 +70,13 @@ module Sanzang
|
|
70
70
|
# This is the normal text listing output of the Sanzang Translator.
|
71
71
|
#
|
72
72
|
def gen_listing(source_text)
|
73
|
+
source_encoding = source_text.encoding
|
74
|
+
source_text.encode!(Encoding::UTF_8)
|
75
|
+
|
73
76
|
newline = source_text.include?("\r") ? "\r\n" : "\n"
|
74
77
|
texts = translate(source_text).collect {|t| t = t.split(newline) }
|
75
|
-
listing = "".encode(source_text.encoding)
|
76
78
|
|
79
|
+
listing = ""
|
77
80
|
texts[0].length.times do |line_i|
|
78
81
|
@table.width.times do |col_i|
|
79
82
|
listing << "[#{line_i + 1}.#{col_i + 1}] #{texts[col_i][line_i]}" \
|
@@ -81,7 +84,7 @@ module Sanzang
|
|
81
84
|
end
|
82
85
|
listing << newline
|
83
86
|
end
|
84
|
-
listing
|
87
|
+
listing.encode!(source_encoding)
|
85
88
|
end
|
86
89
|
|
87
90
|
# Read a text from _input_ and write its translation listing to _output_.
|
data/lib/sanzang/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sanzang
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Lapis Lazuli Texts
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-06-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: parallel
|
@@ -87,7 +87,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
87
87
|
version: '0'
|
88
88
|
requirements: []
|
89
89
|
rubyforge_project:
|
90
|
-
rubygems_version: 2.0.
|
90
|
+
rubygems_version: 2.0.3
|
91
91
|
signing_key:
|
92
92
|
specification_version: 4
|
93
93
|
summary: Simple rule-based machine translation system.
|