cbeta 3.7.4 → 3.7.6
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 +35 -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: a64bd3cdb40fbe26cb9150ab33c21bf0169bd71a2845913f3eb6bdb2a688e79d
|
|
4
|
+
data.tar.gz: 86dedd1e766dcd81275ad01bc9050d7f0eca3c4c7075c79ad81c5fb2afe4fc11
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: b75c4985ad0c014b68a6bc9bf3b293914d63f638677a6afd3d5f55846ba91b68eb719bd9fcc24f8294b6430b5971c2274dddec2f79535b373eaa2716bb71ef65
|
|
7
|
+
data.tar.gz: 67d3f042ab24a6a8d788d385b684d8e87d59687011985a36782ecf65cd5dd76df1478626895f8bc10424464574878922fca3639c8bb5e603cd26cb0d9e3fe5a2
|
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,39 @@ 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
|
|
163
|
+
return if p1.nil? or p1.name != "note"
|
|
164
|
+
|
|
165
|
+
t1 = p1['type']
|
|
166
|
+
return if not %w[add orig mod].include?(t1)
|
|
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
|
+
return if t1 == "add"
|
|
175
|
+
|
|
176
|
+
p2 = p1.previous
|
|
177
|
+
return if p2.nil? or p2.name != "note" or p2["type"] != "orig"
|
|
178
|
+
|
|
179
|
+
n2 = p2['n']
|
|
180
|
+
if not n1.start_with?(n2)
|
|
181
|
+
error "[E16] app/@n 與 note/@n 不一致, app/@n: #{e['n']}, note/@n: #{n2}"
|
|
182
|
+
end
|
|
183
|
+
end
|
|
184
|
+
|
|
152
185
|
def e_g(e)
|
|
153
186
|
gid = e['ref'][1..-1]
|
|
154
187
|
unless @gaijis.key? gid
|
|
@@ -198,7 +231,7 @@ class CBETA::P5aChecker
|
|
|
198
231
|
end
|
|
199
232
|
|
|
200
233
|
def e_note(e)
|
|
201
|
-
error "[E11] note 直接出現在 div 下" if e.parent.name == 'div'
|
|
234
|
+
error "[E11] note 直接出現在 div 下" if e.parent.name == 'div'
|
|
202
235
|
error "[E12] note 直接出現在 lg 下" if e.parent.name == 'lg'
|
|
203
236
|
e_note_corresp(e) if e.key?('corresp')
|
|
204
237
|
|
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.6
|
|
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-31 00:00:00.000000000 Z
|
|
38
38
|
dependencies:
|
|
39
39
|
- !ruby/object:Gem::Dependency
|
|
40
40
|
name: unihan2
|
metadata.gz.sig
CHANGED
|
Binary file
|