pxindex-builder 0.2.1 → 0.3.0

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