cbeta 3.7.4 → 3.7.5
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
- checksums.yaml.gz.sig +0 -0
- data/lib/cbeta/p5a_checker.rb +33 -2
- data.tar.gz.sig +0 -0
- metadata +2 -2
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9c7dffb183724347beabbd63886df9961405905c17e43eea221f580bafa53827
|
|
4
|
+
data.tar.gz: 7d1939a6cf97f77f1a33c82632c99db714db9f22b4398a3cbb00e3d99a6a0567
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 353a3f2690b8e43b35da6561bab04d4233dd4d8d1d0760beec8d9aa4cfaa1db763e211b49df36f08b5a7c39cb6ee8d32b7ef35ecd4fec644bb19825ed76c1e77
|
|
7
|
+
data.tar.gz: 604886a2d51c0c2b9910b0f3c93eec74bca7ef6e5acaaed8176af16faa918bbe67211c42848420a67ba2057de1ed4d291c9ff6d7cd88c8b0e305bf5418322157
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
data/lib/cbeta/p5a_checker.rb
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
require_relative 'cbeta_share'
|
|
2
4
|
|
|
3
5
|
# 檢查 CBETA XML P5a
|
|
@@ -18,6 +20,7 @@ require_relative 'cbeta_share'
|
|
|
18
20
|
# * [E13] tt 直接出現在 lg 下
|
|
19
21
|
# * [E14] <anchor type="right"> 不應直接出現在 div 或 body 下
|
|
20
22
|
# * [E15] <note> corresp 無對應的 <note>
|
|
23
|
+
# * [E16] app/@n 與 note/@n 不一致
|
|
21
24
|
#
|
|
22
25
|
# * 警告類型
|
|
23
26
|
# * [W01] 夾注包夾注
|
|
@@ -129,7 +132,7 @@ class CBETA::P5aChecker
|
|
|
129
132
|
puts @errors.join("\n")
|
|
130
133
|
else
|
|
131
134
|
File.write(@log, @errors.join("\n"))
|
|
132
|
-
puts "發現 #{@errors.size} 錯誤,請查看 #{@log}"
|
|
135
|
+
puts "\n-----\n發現 #{@errors.size} 錯誤,請查看 #{@log}"
|
|
133
136
|
end
|
|
134
137
|
end
|
|
135
138
|
|
|
@@ -146,9 +149,37 @@ class CBETA::P5aChecker
|
|
|
146
149
|
error "[E03] 星號校勘 app 沒有對應的 note, corresp: #{n}"
|
|
147
150
|
end
|
|
148
151
|
end
|
|
152
|
+
e_app_n(e)
|
|
149
153
|
traverse(e)
|
|
150
154
|
end
|
|
151
155
|
|
|
156
|
+
# 以下情況,n 必須一致
|
|
157
|
+
# * 連續 <note type="orig"> + <note type="mod"> + <app>
|
|
158
|
+
# * 連續 <note type="orig"> + <app>
|
|
159
|
+
def e_app_n(e)
|
|
160
|
+
return if e["type"] == "star"
|
|
161
|
+
|
|
162
|
+
p1 = e.previous_element
|
|
163
|
+
return if p1.nil? or p1.name != "note"
|
|
164
|
+
|
|
165
|
+
t1 = p1['type']
|
|
166
|
+
return if t1 != "orig" and t1 != "mod"
|
|
167
|
+
|
|
168
|
+
n1 = p1["n"]
|
|
169
|
+
if not e["n"].start_with?(n1)
|
|
170
|
+
error "[E16] app/@n 與 note/@n 不一致, app/@n: #{e['n']}, note/@n: #{n1}"
|
|
171
|
+
return
|
|
172
|
+
end
|
|
173
|
+
|
|
174
|
+
p2 = p1.previous_element
|
|
175
|
+
return if p2.nil? or p2.name != "note" or p2["type"] != "orig"
|
|
176
|
+
|
|
177
|
+
n2 = p2['n']
|
|
178
|
+
if not n1.start_with?(n2)
|
|
179
|
+
error "[E16] app/@n 與 note/@n 不一致, app/@n: #{e['n']}, note/@n: #{n2}"
|
|
180
|
+
end
|
|
181
|
+
end
|
|
182
|
+
|
|
152
183
|
def e_g(e)
|
|
153
184
|
gid = e['ref'][1..-1]
|
|
154
185
|
unless @gaijis.key? gid
|
|
@@ -198,7 +229,7 @@ class CBETA::P5aChecker
|
|
|
198
229
|
end
|
|
199
230
|
|
|
200
231
|
def e_note(e)
|
|
201
|
-
error "[E11] note 直接出現在 div 下" if e.parent.name == 'div'
|
|
232
|
+
error "[E11] note 直接出現在 div 下" if e.parent.name == 'div'
|
|
202
233
|
error "[E12] note 直接出現在 lg 下" if e.parent.name == 'lg'
|
|
203
234
|
e_note_corresp(e) if e.key?('corresp')
|
|
204
235
|
|
data.tar.gz.sig
CHANGED
|
Binary file
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: cbeta
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 3.7.
|
|
4
|
+
version: 3.7.5
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ray Chou
|
|
@@ -34,7 +34,7 @@ cert_chain:
|
|
|
34
34
|
xyQse8slbARanDyyT6HCYtlaKD9WYw647tkJhyY2GniloCNcOJS0URvhlulLzJYg
|
|
35
35
|
9CrAxVAO2NMeM6tbxg1VjYbqopjoLCwLdAJouA==
|
|
36
36
|
-----END CERTIFICATE-----
|
|
37
|
-
date: 2026-
|
|
37
|
+
date: 2026-03-30 00:00:00.000000000 Z
|
|
38
38
|
dependencies:
|
|
39
39
|
- !ruby/object:Gem::Dependency
|
|
40
40
|
name: unihan2
|
metadata.gz.sig
CHANGED
|
Binary file
|