cbeta 1.1.1 → 1.1.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/cbeta/p5a_to_epub.rb +8 -4
- data/lib/cbeta/p5a_to_text.rb +28 -17
- 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: bb15f5b135465307d5d432fd1760a26f2e5ce2b2
|
4
|
+
data.tar.gz: afba7a55bc4cfcae52a9238c55664163361aa1df
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 567a960b85aa16bd7ca3f60084d82c2953ceaaf63260c7640ee53172e1af118742f5b3e24d2f9767cc504e54cd20f1fd6ad0892bf2c9af01cf023612fb3965b0
|
7
|
+
data.tar.gz: e27de657de8b2bbeb09ab052d1786188ff510ff35b75197b00c050b371f1fcff4fbd33045d17c2043866f6302ebe6f1f5c27a8dde61cc400cc0a726acbff855e
|
data/lib/cbeta/p5a_to_epub.rb
CHANGED
@@ -67,10 +67,7 @@ class CBETA::P5aToEPUB
|
|
67
67
|
# @param output_paath [String] 輸出 EPUB 檔路徑
|
68
68
|
def convert_file(input_path, output_path)
|
69
69
|
return false unless input_path.end_with? '.xml'
|
70
|
-
|
71
|
-
FileUtils.remove_dir(@temp_folder, force=true)
|
72
|
-
FileUtils::mkdir_p @temp_folder
|
73
|
-
|
70
|
+
|
74
71
|
@book_id = File.basename(input_path, ".xml")
|
75
72
|
|
76
73
|
sutra_init
|
@@ -142,6 +139,11 @@ class CBETA::P5aToEPUB
|
|
142
139
|
|
143
140
|
private
|
144
141
|
|
142
|
+
def clear_temp_folder
|
143
|
+
FileUtils.remove_dir(@temp_folder, force=true)
|
144
|
+
FileUtils::mkdir_p @temp_folder
|
145
|
+
end
|
146
|
+
|
145
147
|
def copy_static_files(src, dest)
|
146
148
|
dest = File.join(@temp_folder, dest)
|
147
149
|
FileUtils.copy(src, dest)
|
@@ -731,6 +733,8 @@ eos
|
|
731
733
|
end
|
732
734
|
|
733
735
|
def sutra_init
|
736
|
+
clear_temp_folder
|
737
|
+
|
734
738
|
s = NAV_TEMPLATE % '<ol></ol>'
|
735
739
|
@nav_doc = Nokogiri::XML(s)
|
736
740
|
|
data/lib/cbeta/p5a_to_text.rb
CHANGED
@@ -23,10 +23,18 @@ class CBETA::P5aToText
|
|
23
23
|
# @param xml_root [String] 來源 CBETA XML P5a 路徑
|
24
24
|
# @param output_root [String] 輸出 Text 路徑
|
25
25
|
# @param format [String] 輸出格式,例:'app'
|
26
|
-
|
26
|
+
# @option opts [String] :format 輸出格式,例:'app',預設是 normal
|
27
|
+
# @option opts [String] :encoding 輸出編碼,預設 'UTF-8'
|
28
|
+
def initialize(xml_root, output_root, opts={})
|
27
29
|
@xml_root = xml_root
|
28
30
|
@output_root = output_root
|
29
|
-
|
31
|
+
|
32
|
+
@settings = {
|
33
|
+
format: nil,
|
34
|
+
encoding: 'UTF-8'
|
35
|
+
}
|
36
|
+
@settings.merge!(opts)
|
37
|
+
|
30
38
|
@cbeta = CBETA.new
|
31
39
|
@gaijis = CBETA::Gaiji.new
|
32
40
|
end
|
@@ -127,13 +135,13 @@ class CBETA::P5aToText
|
|
127
135
|
|
128
136
|
def handle_byline(e)
|
129
137
|
r = traverse(e)
|
130
|
-
r += @format=='app' ? "\t" : "\n"
|
138
|
+
r += @settings[:format]=='app' ? "\t" : "\n"
|
131
139
|
r
|
132
140
|
end
|
133
141
|
|
134
142
|
def handle_cell(e)
|
135
143
|
r = traverse(e)
|
136
|
-
r += @format=='app' ? "\t" : "\n"
|
144
|
+
r += @settings[:format]=='app' ? "\t" : "\n"
|
137
145
|
r
|
138
146
|
end
|
139
147
|
|
@@ -157,13 +165,13 @@ class CBETA::P5aToText
|
|
157
165
|
|
158
166
|
def handle_docNumber(e)
|
159
167
|
r = traverse(e)
|
160
|
-
r += @format == 'app' ? "\t" : "\n"
|
168
|
+
r += @settings[:format] == 'app' ? "\t" : "\n"
|
161
169
|
r
|
162
170
|
end
|
163
171
|
|
164
172
|
def handle_figure(e)
|
165
173
|
r = traverse(e)
|
166
|
-
r += @format == 'app' ? "\t" : "\n"
|
174
|
+
r += @settings[:format] == 'app' ? "\t" : "\n"
|
167
175
|
r
|
168
176
|
end
|
169
177
|
|
@@ -212,24 +220,24 @@ class CBETA::P5aToText
|
|
212
220
|
|
213
221
|
def handle_head(e)
|
214
222
|
r = traverse(e)
|
215
|
-
r += @format == 'app' ? "\t" : "\n"
|
223
|
+
r += @settings[:format] == 'app' ? "\t" : "\n"
|
216
224
|
r
|
217
225
|
end
|
218
226
|
|
219
227
|
def handle_item(e)
|
220
228
|
r = traverse(e)
|
221
|
-
r += @format == 'app' ? "\t" : "\n"
|
229
|
+
r += @settings[:format] == 'app' ? "\t" : "\n"
|
222
230
|
end
|
223
231
|
|
224
232
|
def handle_juan(e)
|
225
233
|
r = traverse(e)
|
226
|
-
r += @format == 'app' ? "\t" : "\n"
|
234
|
+
r += @settings[:format] == 'app' ? "\t" : "\n"
|
227
235
|
r
|
228
236
|
end
|
229
237
|
|
230
238
|
def handle_l(e)
|
231
239
|
r = traverse(e)
|
232
|
-
if @format == 'app'
|
240
|
+
if @settings[:format] == 'app'
|
233
241
|
r += "\t"
|
234
242
|
else
|
235
243
|
r += "\n" unless @lg_type == 'abnormal'
|
@@ -239,7 +247,7 @@ class CBETA::P5aToText
|
|
239
247
|
|
240
248
|
def handle_lb(e)
|
241
249
|
r = ''
|
242
|
-
if @format == 'app'
|
250
|
+
if @settings[:format] == 'app'
|
243
251
|
r += "\n#{e['n']}║"
|
244
252
|
end
|
245
253
|
unless @next_line_buf.empty?
|
@@ -264,7 +272,7 @@ class CBETA::P5aToText
|
|
264
272
|
|
265
273
|
def handle_list(e)
|
266
274
|
r = ''
|
267
|
-
r += "\n" unless @format == 'app'
|
275
|
+
r += "\n" unless @settings[:format] == 'app'
|
268
276
|
r + traverse(e)
|
269
277
|
end
|
270
278
|
|
@@ -334,7 +342,7 @@ class CBETA::P5aToText
|
|
334
342
|
|
335
343
|
def handle_p(e)
|
336
344
|
r = traverse(e)
|
337
|
-
r += @format == 'app' ? "\t" : "\n"
|
345
|
+
r += @settings[:format] == 'app' ? "\t" : "\n"
|
338
346
|
r
|
339
347
|
end
|
340
348
|
|
@@ -510,15 +518,18 @@ class CBETA::P5aToText
|
|
510
518
|
end
|
511
519
|
end
|
512
520
|
text = frag.content
|
513
|
-
text = appify(text) if @format == 'app'
|
521
|
+
text = appify(text) if @settings[:format] == 'app'
|
514
522
|
|
523
|
+
ed2 = ed.sub(/^【(.*?)】$/, '\1')
|
515
524
|
if ed == @orig
|
516
|
-
fn = "#{
|
525
|
+
fn = "#{ed2}-orig.txt"
|
517
526
|
else
|
518
|
-
fn = "#{
|
527
|
+
fn = "#{ed2}.txt"
|
519
528
|
end
|
520
529
|
output_path = File.join(folder, fn)
|
521
|
-
File.
|
530
|
+
fo = File.open(output_path, 'w', encoding: @settings[:encoding])
|
531
|
+
fo.write(text)
|
532
|
+
fo.close
|
522
533
|
end
|
523
534
|
end
|
524
535
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cbeta
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ray Chou
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-10-
|
11
|
+
date: 2015-10-05 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Ruby gem for use Chinese Buddhist Text resources made by CBETA (http://www.cbeta.org).
|
14
14
|
email: zhoubx@gmail.com
|