cbeta 1.1.1 → 1.1.2
Sign up to get free protection for your applications and to get access to all the features.
- 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
|