pxindex-builder 0.2.1 → 0.3.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 2128331ce3c8f5897f49a8c5e054cae1ea48cb87
4
- data.tar.gz: 71eb92cd87a71fe72e9f66b483a2920b104926be
2
+ SHA256:
3
+ metadata.gz: 8d16d5f32fb73bc13efabdea2aa410e492cd25a58d69de231b859add956ea537
4
+ data.tar.gz: b618cd9d89f9719ca8e27eef1941af060cef59e044acb38daf4e0d1bdc16d59e
5
5
  SHA512:
6
- metadata.gz: 8ebf09ee915af52f7a0fbcf74f26196f137d0f21f8282836507d6ec28d17e9ad4ce3e8a2b86df48236b3811252edc5fd9c3ec34302a123619e39042ea0e29311
7
- data.tar.gz: 9ca95e12359981bffd3f9068a52202aa1a2a2edab828708d21f77415c9d777f62baa473a2ee6d71124e07336eb8a5fe85e4e90936d392477e67fccc2091491d1
6
+ metadata.gz: c98340121ac8b0633126ad2921a9426f6b514b61bc7a57f13da0b0e0060cb1d5b597dd7418ea39c2b837d6dd67050c72b2ce9231656c6a57beb384b66d8994e4
7
+ data.tar.gz: c9ff7177b2616fce22d6d0f2508ec8acd9c9816257c92183a2fe54fcbb1803669672dccb4d5faf2e7ef94d1a14e180f1a5106b61e7ceb05c05fa88e87a483345
checksums.yaml.gz.sig CHANGED
Binary file
@@ -2,38 +2,39 @@
2
2
 
3
3
  # file: pxindex-builder.rb
4
4
 
5
- require 'line-tree'
5
+ require 'line-tree' # *new*
6
6
  require 'wordsdotdat'
7
7
  require 'phrase_lookup'
8
8
  require 'polyrex-builder'
9
+ require 'rxfreader'
9
10
 
10
11
 
11
12
  class PxIndexBuilder
12
13
 
13
14
  attr_reader :to_xml, :to_h, :to_s
14
-
15
+
15
16
  def initialize(obj, debug: false, ignore: [])
16
-
17
+
17
18
  @debug = debug
18
19
  puts 'inside initialize: ' if @debug
19
-
20
+
20
21
  if obj.is_a? String then
21
-
22
- s, _ = RXFHelper.read(obj)
23
-
22
+
23
+ s, _ = RXFReader.read(obj)
24
+
24
25
  s =~ /^---/ ? import_phrases(YAML.load(s), s, ignore) : import_index(s)
25
-
26
+
26
27
  elsif obj.is_a? Hash
27
28
  import_phrases obj, s, ignore
28
29
  end
29
-
30
+
30
31
  end
31
-
32
-
32
+
33
+
33
34
  private
34
-
35
+
35
36
  def import_index(raw_s)
36
-
37
+
37
38
  # find the entries which aren't on the main index
38
39
  s = raw_s.sub(/<[^>]+>\n/,'')
39
40
  doc = LineTree.new(s, debug: @debug).to_doc(encapsulate: true)
@@ -44,18 +45,18 @@ class PxIndexBuilder
44
45
  puts 'a2: ' + a2.inspect if @debug
45
46
  a3 = a2.map(&:rstrip) - a.map(&:rstrip)
46
47
  puts 'a3:' + a3.inspect if @debug
47
-
48
+
48
49
  # add the new entries to the main index
49
50
  s << "\n" + a3.join("\n")
50
51
 
51
52
  s.prepend '<?ph schema="entries/section[heading]/entry[title, url]"?>
52
53
 
53
54
  '
54
-
55
+
55
56
  @to_s = s
56
-
57
+
57
58
  end
58
-
59
+
59
60
  def import_phrases(h, s, ignore=[])
60
61
 
61
62
  words = h.keys.join(' ').split(/ +/).map {|x| x[/\w+/]}.uniq\
@@ -65,11 +66,11 @@ class PxIndexBuilder
65
66
  .reject {|x| x.length < 4 and !WordsDotDat.list.include? x.downcase}\
66
67
  .group_by(&:chr).sort
67
68
 
68
- pl = PhraseLookup.new s
69
+ pl = PhraseLookup.new s
69
70
 
70
71
  index = words.map do |letter, list|
71
72
 
72
- a = list.map do |w|
73
+ a = list.map do |w|
73
74
  phrases = pl.q(w)
74
75
  [w, phrases, phrases.map {|x| h[x] }.max]
75
76
  end
@@ -92,7 +93,7 @@ class PxIndexBuilder
92
93
  rows.map do |x|
93
94
 
94
95
  head, body, _ = x
95
-
96
+
96
97
  a = [{title: head}]
97
98
  a << scan(body) if body and body.any?
98
99
  a
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pxindex-builder
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -10,28 +10,32 @@ bindir: bin
10
10
  cert_chain:
11
11
  - |
12
12
  -----BEGIN CERTIFICATE-----
13
- MIIDljCCAn6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBIMRIwEAYDVQQDDAlnZW1t
14
- YXN0ZXIxHjAcBgoJkiaJk/IsZAEZFg5qYW1lc3JvYmVydHNvbjESMBAGCgmSJomT
15
- 8ixkARkWAmV1MB4XDTE3MTAyMDIwMTAxOVoXDTE4MTAyMDIwMTAxOVowSDESMBAG
16
- A1UEAwwJZ2VtbWFzdGVyMR4wHAYKCZImiZPyLGQBGRYOamFtZXNyb2JlcnRzb24x
17
- EjAQBgoJkiaJk/IsZAEZFgJldTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
18
- ggEBAMXjj+v8NMIRgsZUJvkGbi6J6O8u7CxQdPVKyHqeN1/hbuu/X9Mpmdf7HSSh
19
- 5jeRWa8nksDy1oCedj/zZ1ogdiIZUa6awLwFxov9HYgGikgP1Bgfd3i/NO0ehHtx
20
- XzwRyJet9u/PoPuQWok55UaYW9AmecD2x0HXohCya1vNWE5Y53hm1aQxFdIUnt/i
21
- u/qLokkMRwSZpiO+myvvufucl61/VnDkdripo82qyJhuIS64PUCskVyu2YGcPhPg
22
- edkHRvJQ/UBSjMreUmd2PR039TThwmKeWfU9zF8WXqmeNuAQXMY/gDyP/wKXZmXe
23
- kA5+ZZSHs+vy3pkPGUuXTKc9TRECAwEAAaOBijCBhzAJBgNVHRMEAjAAMAsGA1Ud
24
- DwQEAwIEsDAdBgNVHQ4EFgQUHOvZh5XYlwPQsrzMFknx6Uj2nOEwJgYDVR0RBB8w
25
- HYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1h
26
- c3RlckBqYW1lc3JvYmVydHNvbi5ldTANBgkqhkiG9w0BAQUFAAOCAQEAoakCxolW
27
- TJ/J24Zp50sbAWp/8y3DFY6TlDgGg7UEyAXpOkp9lpOlfp4XVvZz9rFyjSyKwXXV
28
- d65xW3Crazo0RTuss36SC4HRzx8FtFnyrAAiJJcQi9/z1dHOtFs2CbMeqtUbJwIP
29
- Vrik8nKqZCw3toOPaDTcI9wijaLPVE0Pqtci5yVZa5tM3nbnjWp70iumXhJhllog
30
- k2sgD5CTNK5yx0cxmMGWSLRCAkU+EnEuB4bZdE8yg3acXg2jemonuUxB0C/HCsA8
31
- rpKyBm8O20gPepUR+u4B3OOMZL1vUMzoAppGGdK/fa9iZHfP9tccqmgXIQ8c4X1f
32
- C74enOZQySX7LA==
13
+ MIIEXjCCAsagAwIBAgIBATANBgkqhkiG9w0BAQsFADAsMSowKAYDVQQDDCFnZW1t
14
+ YXN0ZXIvREM9amFtZXNyb2JlcnRzb24vREM9ZXUwHhcNMjIwMjIzMTkwNTAxWhcN
15
+ MjMwMjIzMTkwNTAxWjAsMSowKAYDVQQDDCFnZW1tYXN0ZXIvREM9amFtZXNyb2Jl
16
+ cnRzb24vREM9ZXUwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQDW85TI
17
+ /Z5K4vUfBYKBHGpILk6JxCmBYJJFmYPjDQwuwfrmrU5lvPUDAdp9kQycXcKVc5Uy
18
+ XhKfobl5EFqs6x+k5Rr5W5eH4XsFy5pRyExntxcoCAyjNqHiS+kfDLG59s2ZtkBd
19
+ gFD7uS/983qC3d4lVbU2BSkUfmyFSLeEwIU123QwtDeDqG8TyajVmHVCP+Z4rn3m
20
+ m/CAGaK2jVtCl+FodEZBeZzmEQ7MfI5HKGbxXBTGplLsJlCnqsT1z1czg9TS7MQb
21
+ iYleiEzGfONtEKdXx3qxP3P4kiNTUy5ZBDrT3l9cbXDrlFTjLFhbAgekouEi2Q8M
22
+ rX2anLFWnXH4PR7B+Z+2gunVQf51m9Zas+IXJhFU2Pf6ANlak2/QDQZ/3L8A3REM
23
+ yCvvPf8ZOsycdV1ND4IUvjl9psJf4hxITq9gmfpKLR3rwK5yNK8L7t0YzDRY0wSv
24
+ eoxpVnCkhPBgYyGqbVdb8vo20HpO6upTnbYqDB6MXt6mDYXC2Fc/6eZ+h20CAwEA
25
+ AaOBijCBhzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUg0DERRht
26
+ KGlPVqCvhV483EvmfFswJgYDVR0RBB8wHYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0
27
+ c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1hc3RlckBqYW1lc3JvYmVydHNvbi5ldTAN
28
+ BgkqhkiG9w0BAQsFAAOCAYEAUnDHC51C7bosMGleHWQ6WmADz9c1rWcI7O7hc2O0
29
+ YVJb7lWr7mbcxdHUzbFe3FZD3lbwLpV/tPBhSWA8IopouMVKEA8wLvbAy7frwRJ8
30
+ EZjFVzeXmUDY2MAbgLOh1SYgiCTYpTbTgiCByFgxuMX1cua9vAyVw2cCa7prAoj7
31
+ kZBw5ZSbabGAjGrvqgvH2+18vt55PJEUsbprVB7KOHhs3chPvDDBLYbVotlizS/D
32
+ 0zfMydUnO8GqkYSx7oked2Vx98QqJB8hQgD9gBw/g8ITbCc2RcJDMBw64synIBtM
33
+ zK1YL6OKysdroRHd7PMfui82y5TazNdbs+a0mfLslnYmuD1Qyz48G0RBf9uiM7NN
34
+ kWVg9FrcOSwREdGPQo8Nm5XBrnjNQ5kMt0dkD0hYl/6c3GlVZnNnTQtTVrI2U7/0
35
+ C5ZqDgzQ3HQLwk8KbRjlBIdMHVjHfLaqNRllK8YWKSim4ZMMaBUnTZeZE8tRUiV6
36
+ 5sJpSrhbx0blESXn24F1Nx/U
33
37
  -----END CERTIFICATE-----
34
- date: 2018-04-15 00:00:00.000000000 Z
38
+ date: 2022-02-23 00:00:00.000000000 Z
35
39
  dependencies:
36
40
  - !ruby/object:Gem::Dependency
37
41
  name: line-tree
@@ -114,7 +118,7 @@ dependencies:
114
118
  - !ruby/object:Gem::Version
115
119
  version: 0.3.0
116
120
  description:
117
- email: james@jamesrobertson.eu
121
+ email: digital.robertson@gmail.com
118
122
  executables: []
119
123
  extensions: []
120
124
  extra_rdoc_files: []
@@ -139,8 +143,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
139
143
  - !ruby/object:Gem::Version
140
144
  version: '0'
141
145
  requirements: []
142
- rubyforge_project:
143
- rubygems_version: 2.6.13
146
+ rubygems_version: 3.2.22
144
147
  signing_key:
145
148
  specification_version: 4
146
149
  summary: Builds a Polyrex index (pxindex) XML document from a YAML document or an
metadata.gz.sig CHANGED
Binary file