cbeta 3.6.16 → 3.7.0
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.rb +29 -14
- data.tar.gz.sig +0 -0
- metadata +31 -4
- 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: 22ece655cfcd0c962034b74bd4bb530a21f034422b183540588965eda67b7fb7
|
4
|
+
data.tar.gz: c1ea4749573d1eaee1f6635dcd1c8c2b818f94a13f9075e8ddde39b96baa3946
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: df5dca4c13c0e1be0d8142145685b350d0773073b3f8fe378d68e67ce49f7eae24f12f455d0d74bb2c5c91dcb4c7fa28576d31cc5da44d43ee854878d4903cac
|
7
|
+
data.tar.gz: 73dacb3d58b47812309f6f16c9b11c30407cd0b9ff390d6648bba89b91b5a2d10366ea4283888e3f4ffc1fa6536a5633e93c8b91c9765d9607669f49c05a7452
|
checksums.yaml.gz.sig
ADDED
Binary file
|
data/lib/cbeta.rb
CHANGED
@@ -12,6 +12,16 @@ class CBETA
|
|
12
12
|
DATA = File.join(File.dirname(__FILE__), 'data')
|
13
13
|
PUNCS = ',.()[] 。‧.,、;?!:︰/()「」『』《》<>〈〉〔〕[]【】〖〗〃…—─ ~│┬▆△*+-='
|
14
14
|
|
15
|
+
# 經號 (不含 Canon ID):
|
16
|
+
# 四碼數字 T0001
|
17
|
+
# 四碼數字 + 英文字母 T0150A, T0128a
|
18
|
+
# 英文字母 + 三碼數字 JA041, ZWa073
|
19
|
+
WORK_PART = '\d{4}[a-zA-Z]?|[ABa]\d{3}'
|
20
|
+
|
21
|
+
# XML file 主檔名
|
22
|
+
# GA010n0009
|
23
|
+
BASENAME = "(?:#{CANON})\\d{2,3}n(?:#{WORK_PART})"
|
24
|
+
|
15
25
|
# 由 行首資訊 取得 藏經 ID
|
16
26
|
# @param linehead[String] 行首資訊, 例如 "T01n0001_p0001a01" 或 "GA009n0008_p0003a01"
|
17
27
|
# @return [String] 藏經 ID,例如 "T" 或 "GA"
|
@@ -46,6 +56,22 @@ class CBETA
|
|
46
56
|
r += 'p' + lb
|
47
57
|
r
|
48
58
|
end
|
59
|
+
|
60
|
+
# 由 XML檔主檔名 取得 典籍編號
|
61
|
+
# @param fn[String] 檔名, 例如 "T01n0001" 或 "GA009n0008"
|
62
|
+
# @return [String] 典籍編號,例如 "T0001" 或 "GA0008"
|
63
|
+
def self.get_work_id_from_file_basename(fn)
|
64
|
+
r = fn.sub(/^(#{CANON})\d{2,3}n(.*)$/, '\1\2')
|
65
|
+
r = 'T0220' if r.start_with? 'T0220'
|
66
|
+
r
|
67
|
+
end
|
68
|
+
|
69
|
+
# 由 行首資訊 取得 典籍編號
|
70
|
+
# @param linehead[String] CBETA 行首資訊,例如 "T01n0001_p0001a01" 或 "T25n1510ap0757b29"
|
71
|
+
# @return [String] 典籍編號,例如 "T0001" 或 "T1510a"
|
72
|
+
def self.get_work_id_from_linehead(linehead)
|
73
|
+
linehead.sub(/^(#{CANON})\d{2,3}n(#{WORK_PART}).*$/, '\1\2')
|
74
|
+
end
|
49
75
|
|
50
76
|
# 由 冊號 及 典籍編號 取得 XML 主檔名
|
51
77
|
# @param vol[String] 冊號, 例如 "T01" 或 "GA009"
|
@@ -114,24 +140,13 @@ class CBETA
|
|
114
140
|
# ex: J36nB348_p0284c01
|
115
141
|
# @return [String] XML檔相對路徑,例如 "GA/GA009/GA009n0008.xml"
|
116
142
|
def self.linehead_to_xml_file_path(linehead)
|
117
|
-
|
118
|
-
w = '(?:\d+[a-zA-Z]?|[AB]\d{3})'
|
119
|
-
if m = linehead.match(/^(?<work>(?<vol>(?<canon>#{CANON})\d+)n#{w}).*$/)
|
143
|
+
if m = linehead.match(/^(?<work>(?<vol>(?<canon>#{CANON})\d+)n(?:#{WORK_PART})).*$/)
|
120
144
|
File.join(m[:canon], m[:vol], m[:work]+'.xml')
|
121
145
|
else
|
122
146
|
nil
|
123
147
|
end
|
124
|
-
end
|
125
|
-
|
126
|
-
# 由 XML檔主檔名 取得 典籍編號
|
127
|
-
# @param fn[String] 檔名, 例如 "T01n0001" 或 "GA009n0008"
|
128
|
-
# @return [String] 典籍編號,例如 "T0001" 或 "GA0008"
|
129
|
-
def self.get_work_id_from_file_basename(fn)
|
130
|
-
r = fn.sub(/^(#{CANON})\d{2,3}n(.*)$/, '\1\2')
|
131
|
-
r = 'T0220' if r.start_with? 'T0220'
|
132
|
-
r
|
133
|
-
end
|
134
|
-
|
148
|
+
end
|
149
|
+
|
135
150
|
# 由「藏經 ID」取得「排序用編號」,例如:傳入 "T" 回傳 "A";傳入 "X" 回傳 "B"
|
136
151
|
# @param canon [String] 藏經 ID
|
137
152
|
# @return [String] 排序用編號
|
data.tar.gz.sig
ADDED
Binary file
|
metadata
CHANGED
@@ -1,13 +1,40 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cbeta
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ray Chou
|
8
8
|
bindir: bin
|
9
|
-
cert_chain:
|
10
|
-
|
9
|
+
cert_chain:
|
10
|
+
- |
|
11
|
+
-----BEGIN CERTIFICATE-----
|
12
|
+
MIIEaDCCAtCgAwIBAgIBATANBgkqhkiG9w0BAQsFADA9MQ8wDQYDVQQDDAZ6aG91
|
13
|
+
YngxFTATBgoJkiaJk/IsZAEZFgVnbWFpbDETMBEGCgmSJomT8ixkARkWA2NvbTAe
|
14
|
+
Fw0yNTEwMTMwNjM4MjdaFw0yNjEwMTMwNjM4MjdaMD0xDzANBgNVBAMMBnpob3Vi
|
15
|
+
eDEVMBMGCgmSJomT8ixkARkWBWdtYWlsMRMwEQYKCZImiZPyLGQBGRYDY29tMIIB
|
16
|
+
ojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAiyVQ5WW6oy4b8drYYebSMVi+
|
17
|
+
EC1xHNgAuTmlKF0w/Z2mRwL7rTOt/d3zUpTGRwBiqz3JF4ZAJksei6y7UzbA4qDb
|
18
|
+
WZDv+s6y6SZfeB+1JLDQOGJ+XxiM6ezsgMyZIeAOXciELTJh/x/R6pRatVDPyOAB
|
19
|
+
E1uv/2qGTP8Vy76fH0N9E5WU7xccPWR9uFlPKcpiAS1werNVS8/UCSyeS90o5ckE
|
20
|
+
rp5jOTpy7Dtzlz82qMDFGFaLh1Zo7SYeNEJlroZYec9vdnYUWmyT52l12IH6uFll
|
21
|
+
DvnhRkwVIdQ9l2as1PQx9eg69Jf9qSCAuOXMVojNkwWLsezyjB5CcidL8wx8Sifg
|
22
|
+
mKWoeNrWYbwH1h9B1dzX2jIwqcr8BNI2usK42YWyxiJGbQr+SBHhXEt25s3AVH+P
|
23
|
+
YUby2af2Gcb5ltpqqdXFoO8PpDODWtUcHM3NTL2uGbKvq1Ai0GhPJNHPco2SW9DA
|
24
|
+
AGQFSEgJj7BlHDHcYpOXfsuQxnKXeeCw6dVmyYfPAgMBAAGjczBxMAkGA1UdEwQC
|
25
|
+
MAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQWBBTqBx17iPvliZ0RKL1RZluB50Uc/jAb
|
26
|
+
BgNVHREEFDASgRB6aG91YnhAZ21haWwuY29tMBsGA1UdEgQUMBKBEHpob3VieEBn
|
27
|
+
bWFpbC5jb20wDQYJKoZIhvcNAQELBQADggGBAF+XmQPhEcuiRl/Zb+1vIBnR8Z8Q
|
28
|
+
mTJm4inGy8boLAz71Pg04yI+moj7A0CSS/xbv1MtZqOzTxGFm16xLczY4k6BuRof
|
29
|
+
C9usw3Z7val3rHRzmdhLqkX4ALrLzd/G0uirARIQ08N5r0ETIkNFCdePtRHH8uk3
|
30
|
+
Er0v4v4QT9ATyrAs4iImWlhmWZIEXOdhBqW01c9/cm5Gcg/WBjdEplpJtGGnMkdc
|
31
|
+
zQQscleWWbCX7QKjR9rSCPNteUuzAoS8gNCbLNQF88aOFzm704dePli3WNL/GTvy
|
32
|
+
frO5NqUXpwCOzgCbMKfxYBw87WDA8yAE2Cn3Kw1bvX/fheUNr++QyVY8sqVDOlUC
|
33
|
+
TovfZCtNma/D0DD8q8enl7UEwKWEs3IC+8bu6jlzYn/6BcLTkKwzB8NXSLVGkFva
|
34
|
+
xyQse8slbARanDyyT6HCYtlaKD9WYw647tkJhyY2GniloCNcOJS0URvhlulLzJYg
|
35
|
+
9CrAxVAO2NMeM6tbxg1VjYbqopjoLCwLdAJouA==
|
36
|
+
-----END CERTIFICATE-----
|
37
|
+
date: 2025-10-13 00:00:00.000000000 Z
|
11
38
|
dependencies:
|
12
39
|
- !ruby/object:Gem::Dependency
|
13
40
|
name: unihan2
|
@@ -118,7 +145,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
118
145
|
- !ruby/object:Gem::Version
|
119
146
|
version: '0'
|
120
147
|
requirements: []
|
121
|
-
rubygems_version: 3.
|
148
|
+
rubygems_version: 3.7.2
|
122
149
|
specification_version: 4
|
123
150
|
summary: CBETA Tools
|
124
151
|
test_files: []
|
metadata.gz.sig
ADDED
Binary file
|