pumi 0.44.0 → 0.44.2

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
2
  SHA256:
3
- metadata.gz: cbd9437b7cae782b949a59fe67347d9e0bf94743d59df33a876f10592e05fd8f
4
- data.tar.gz: f0b828a8d9d91ec6f49e6c1e404beb5c9d50e43759118b5ab8fad7aeadd0c355
3
+ metadata.gz: 9145e2c11fd89fb709bf98196dc15544819be0fa3e0a2be46b80471a56ff789b
4
+ data.tar.gz: f215ebfe1462cf39f92bce1a30ed8c8e91062846a135475e7d50d36e0218ae79
5
5
  SHA512:
6
- metadata.gz: 3a6d44d7cafd27f448bb6f321781d2452a8edcbca1a820f44aaa23b717d7449e697c913e32e996d359eff68f0bf9a566dbe4fc05178f1acb2ac5d06c51a78f64
7
- data.tar.gz: e9f62183dc460521b8b845fcfb9017ccd147056ac6435c98487b8f17f5804a0488f0ebf80bd64053c65293f194e529d6654a408db110bd3de2955860e334a3ee
6
+ metadata.gz: befc270b141c2d9ea3596d8470a9c9f34700abab0ce6af222d88eb8b35c879727cecb7ab5489a80869498599137e5d01153ab40956b63fc8df5f7bab1f2b3324
7
+ data.tar.gz: 3dc08e09577cff0c110bb2ae2ab3f6b35d8fdae5d7d4953ac08744e7f1e88ff9ca863b85f1a085d16106fb882787e40b93bb855d6cbe2da2c157f9179256f9a7
@@ -1,3 +1,3 @@
1
1
  {
2
- ".": "0.44.0"
2
+ ".": "0.44.2"
3
3
  }
data/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.44.2](https://github.com/dwilkie/pumi/compare/v0.44.1...v0.44.2) (2026-10-23)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * Wikipedia parser ([#140](https://github.com/dwilkie/pumi/issues/140)) ([df15ece](https://github.com/dwilkie/pumi/commit/df15ece8890509f4490ff797d80b793e7a745568))
9
+
10
+ ## [0.44.1](https://github.com/dwilkie/pumi/compare/v0.44.0...v0.44.1) (2026-09-13)
11
+
12
+
13
+ ### Bug Fixes
14
+
15
+ * Update misspellings ([#138](https://github.com/dwilkie/pumi/issues/138)) ([8ee4b04](https://github.com/dwilkie/pumi/commit/8ee4b04e6d7b7c5730acb60441948d5fc14f12bd))
16
+
3
17
  ## [0.44.0](https://github.com/dwilkie/pumi/compare/v0.43.0...v0.44.0) (2026-09-13)
4
18
 
5
19
 
data/data/districts.yml CHANGED
@@ -1087,7 +1087,7 @@ districts:
1087
1087
  '0609':
1088
1088
  name:
1089
1089
  km: តាំងគោក
1090
- latin: Tang Kouk
1090
+ latin: Taing Kouk
1091
1091
  administrative_unit:
1092
1092
  km: ស្រុក
1093
1093
  latin: Srok
data/data/provinces.yml CHANGED
@@ -4,7 +4,7 @@ provinces:
4
4
  name:
5
5
  km: បន្ទាយមានជ័យ
6
6
  latin: Banteay Meanchey
7
- ungegn: Bântéay Méanchoăy
7
+ ungegn: Bǎntiĕy Miĕn Chei
8
8
  administrative_unit:
9
9
  km: ខេត្ត
10
10
  latin: Khaet
@@ -25,7 +25,7 @@ provinces:
25
25
  name:
26
26
  km: បាត់ដំបង
27
27
  latin: Battambang
28
- ungegn: Bătdâmbâng
28
+ ungegn: Băt Dâmbâng
29
29
  administrative_unit:
30
30
  km: ខេត្ត
31
31
  latin: Khaet
@@ -46,7 +46,7 @@ provinces:
46
46
  name:
47
47
  km: កំពង់ចាម
48
48
  latin: Kampong Cham
49
- ungegn: Kâmpóng Cham
49
+ ungegn: Kâmpǒng Cham
50
50
  administrative_unit:
51
51
  km: ខេត្ត
52
52
  latin: Khaet
@@ -67,7 +67,7 @@ provinces:
67
67
  name:
68
68
  km: កំពង់ឆ្នាំង
69
69
  latin: Kampong Chhnang
70
- ungegn: Kâmpóng Chhnăng
70
+ ungegn: Kâmpǒng Chhnăng
71
71
  administrative_unit:
72
72
  km: ខេត្ត
73
73
  latin: Khaet
@@ -88,7 +88,7 @@ provinces:
88
88
  name:
89
89
  km: កំពង់ស្ពឺ
90
90
  latin: Kampong Speu
91
- ungegn: Kâmpóng Spœ
91
+ ungegn: Kâmpǒng Spue
92
92
  administrative_unit:
93
93
  km: ខេត្ត
94
94
  latin: Khaet
@@ -109,7 +109,7 @@ provinces:
109
109
  name:
110
110
  km: កំពង់ធំ
111
111
  latin: Kampong Thom
112
- ungegn: Kâmpóng Thum
112
+ ungegn: Kâmpǒng Thom
113
113
  administrative_unit:
114
114
  km: ខេត្ត
115
115
  latin: Khaet
@@ -150,7 +150,7 @@ provinces:
150
150
  name:
151
151
  km: កណ្តាល
152
152
  latin: Kandal
153
- ungegn: Kândal
153
+ ungegn: Kǎndal
154
154
  administrative_unit:
155
155
  km: ខេត្ត
156
156
  latin: Khaet
@@ -171,7 +171,7 @@ provinces:
171
171
  name:
172
172
  km: កោះកុង
173
173
  latin: Koh Kong
174
- ungegn: Kaôh Kŏng
174
+ ungegn: Kâh Kŏng
175
175
  administrative_unit:
176
176
  km: ខេត្ត
177
177
  latin: Khaet
@@ -192,7 +192,7 @@ provinces:
192
192
  name:
193
193
  km: ក្រចេះ
194
194
  latin: Kratié
195
- ungegn: Krâchéh
195
+ ungegn: Krâcheh
196
196
  administrative_unit:
197
197
  km: ខេត្ត
198
198
  latin: Khaet
@@ -213,7 +213,7 @@ provinces:
213
213
  name:
214
214
  km: មណ្ឌលគិរី
215
215
  latin: Mondulkiri
216
- ungegn: Môndôlkĭri
216
+ ungegn: Mǒndǒl Kĭri
217
217
  administrative_unit:
218
218
  km: ខេត្ត
219
219
  latin: Khaet
@@ -234,7 +234,7 @@ provinces:
234
234
  name:
235
235
  km: ភ្នំពេញ
236
236
  latin: Phnom Penh
237
- ungegn: Phnum Pénh
237
+ ungegn: Phnom Penh
238
238
  administrative_unit:
239
239
  km: រាជធានី
240
240
  latin: Reach Theani
@@ -255,7 +255,7 @@ provinces:
255
255
  name:
256
256
  km: ព្រះវិហារ
257
257
  latin: Preah Vihear
258
- ungegn: Preăh Vĭhar
258
+ ungegn: Preăh Vĭhiĕ
259
259
  administrative_unit:
260
260
  km: ខេត្ត
261
261
  latin: Khaet
@@ -276,7 +276,7 @@ provinces:
276
276
  name:
277
277
  km: ព្រៃវែង
278
278
  latin: Prey Veng
279
- ungegn: Preý Vŭng
279
+ ungegn: Prei Vêng
280
280
  administrative_unit:
281
281
  km: ខេត្ត
282
282
  latin: Khaet
@@ -297,7 +297,7 @@ provinces:
297
297
  name:
298
298
  km: ពោធិ៍សាត់
299
299
  latin: Pursat
300
- ungegn: Poŭthĭsăt
300
+ ungegn: Posăt
301
301
  administrative_unit:
302
302
  km: ខេត្ត
303
303
  latin: Khaet
@@ -318,7 +318,7 @@ provinces:
318
318
  name:
319
319
  km: រតនគិរី
320
320
  latin: Ratanakiri
321
- ungegn: Rôtânôkĭri
321
+ ungegn: Roătănă Kĭri
322
322
  administrative_unit:
323
323
  km: ខេត្ត
324
324
  latin: Khaet
@@ -339,7 +339,7 @@ provinces:
339
339
  name:
340
340
  km: សៀមរាប
341
341
  latin: Siem Reap
342
- ungegn: Siĕm Réab
342
+ ungegn: Siĕm Riĕp
343
343
  administrative_unit:
344
344
  km: ខេត្ត
345
345
  latin: Khaet
@@ -360,7 +360,7 @@ provinces:
360
360
  name:
361
361
  km: ព្រះសីហនុ
362
362
  latin: Preah Sihanouk
363
- ungegn: Preăh Seihânŭ
363
+ ungegn: Preăh Sĕihănŭ
364
364
  administrative_unit:
365
365
  km: ខេត្ត
366
366
  latin: Khaet
@@ -381,7 +381,7 @@ provinces:
381
381
  name:
382
382
  km: ស្ទឹងត្រែង
383
383
  latin: Stung Treng
384
- ungegn: Stœ̆ng Trêng
384
+ ungegn: Stuĕng Traêng
385
385
  administrative_unit:
386
386
  km: ខេត្ត
387
387
  latin: Khaet
@@ -423,7 +423,7 @@ provinces:
423
423
  name:
424
424
  km: តាកែវ
425
425
  latin: Takéo
426
- ungegn: Takêv
426
+ ungegn: Ta Kaêw
427
427
  administrative_unit:
428
428
  km: ខេត្ត
429
429
  latin: Khaet
@@ -444,7 +444,7 @@ provinces:
444
444
  name:
445
445
  km: ឧត្តរមានជ័យ
446
446
  latin: Oddar Meanchey
447
- ungegn: Ŏttâr Méanchoăy
447
+ ungegn: Ŭtdâ Miĕn Chei
448
448
  administrative_unit:
449
449
  km: ខេត្ត
450
450
  latin: Khaet
@@ -465,7 +465,7 @@ provinces:
465
465
  name:
466
466
  km: កែប
467
467
  latin: Kep
468
- ungegn: Kêb
468
+ ungegn: Kaêp
469
469
  administrative_unit:
470
470
  km: ខេត្ត
471
471
  latin: Khaet
@@ -507,7 +507,7 @@ provinces:
507
507
  name:
508
508
  km: ត្បូងឃ្មុំ
509
509
  latin: Tboung Khmum
510
- ungegn: Tbong Khmum
510
+ ungegn: Tbong Khmŭm
511
511
  administrative_unit:
512
512
  km: ខេត្ត
513
513
  latin: Khaet
data/data/villages.yml CHANGED
@@ -14115,7 +14115,7 @@ villages:
14115
14115
  '03010907':
14116
14116
  name:
14117
14117
  km: តាំងគោក
14118
- latin: Tang Kouk
14118
+ latin: Taing Kouk
14119
14119
  administrative_unit:
14120
14120
  km: ភូមិ
14121
14121
  latin: Phum
@@ -19578,7 +19578,7 @@ villages:
19578
19578
  '03130708':
19579
19579
  name:
19580
19580
  km: តាំងគោក
19581
- latin: Tang Kouk
19581
+ latin: Taing Kouk
19582
19582
  administrative_unit:
19583
19583
  km: ភូមិ
19584
19584
  latin: Phum
@@ -46047,7 +46047,7 @@ villages:
46047
46047
  '06090501':
46048
46048
  name:
46049
46049
  km: តាំងគោក
46050
- latin: Tang Kouk
46050
+ latin: Taing Kouk
46051
46051
  administrative_unit:
46052
46052
  km: ភូមិ
46053
46053
  latin: Phum
@@ -90489,7 +90489,7 @@ villages:
90489
90489
  '15070116':
90490
90490
  name:
90491
90491
  km: តាំងគោក
90492
- latin: Tang Kouk
90492
+ latin: Taing Kouk
90493
90493
  administrative_unit:
90494
90494
  km: ភូមិ
90495
90495
  latin: Phum
@@ -23,7 +23,7 @@ module Pumi
23
23
  Misspelling.new(incorrect_text: "Prea​ek Chrey", correct_text: "Preaek Chrey"),
24
24
  Misspelling.new(incorrect_text: "Saensokh", correct_text: "Sen Sok"),
25
25
  Misspelling.new(incorrect_text: "Kaeb", correct_text: "Kep"),
26
- Misspelling.new(incorrect_text: "Taing Kouk", correct_text: "Tang Kouk"),
26
+ Misspelling.new(incorrect_text: "Tang Kouk", correct_text: "Taing Kouk"),
27
27
  Misspelling.new(incorrect_text: "Mongkol Borei", correct_text: "Mongkol Borey"),
28
28
  Misspelling.new(incorrect_text: "wat Kor", correct_text: "Wat Kor"),
29
29
  Misspelling.new(incorrect_text: "OMal", correct_text: "Ou Mal"),
@@ -1,6 +1,8 @@
1
1
  require "nokogiri"
2
2
  require "open-uri"
3
3
 
4
+ require "pry"
5
+
4
6
  module Pumi
5
7
  module DataSource
6
8
  class Wikipedia
@@ -97,39 +99,27 @@ module Pumi
97
99
  end
98
100
 
99
101
  def find_url(province)
100
- td = find_khmer_name_td(province)
101
- link = td.at_xpath("preceding-sibling::td/a[contains(@href, '/wiki/')]")
102
+ row = find_province_row(province)
103
+ # Finds the Wikipedia page link located in the Name column (first td with an a tag)
104
+ link = row.at_xpath("./td/a[contains(@href, '/wiki/')]")
102
105
  URLParser.parse(URL, link)
103
106
  end
104
107
 
105
108
  def find_ungegn(province)
106
- td = find_khmer_name_td(province)
107
- td.at_xpath("following-sibling::td/span[contains(@title, 'Khmer-language romanization')]")&.text
109
+ row = find_province_row(province)
110
+ # Finds the UNGEGN span element directly inside the row
111
+ row.at_xpath(".//td/span[contains(@title, 'Khmer-language romanization')]")&.text
108
112
  end
109
113
 
110
- def find_khmer_name_td(province)
111
- td = province_table_rows.at_xpath("child::td[contains(., '#{province.name_km}')]")
114
+ def find_province_row(province)
115
+ row = scraper.page.at_xpath("//table//tr[td[normalize-space(text()) = '#{province.iso3166_2}']]")
112
116
 
113
- if td.nil?
117
+ if row.nil?
114
118
  raise WebScraper::ElementNotFoundError,
115
- "No cell containing '#{province.name_km}' was found in a table on #{URL}"
119
+ "No row matching ISO code '#{province.iso3166_2}' was found in a table on #{URL}"
116
120
  end
117
121
 
118
- td
119
- end
120
-
121
- def province_table_rows
122
- @province_table_rows ||= begin
123
- sample_province = Province.all.first
124
-
125
- sample_row = scraper.page.at_xpath("//table/tbody/tr[td//text()[contains(., '#{sample_province.name_km}')]]")
126
- if sample_row.at_xpath("//a[text()[contains(., '#{sample_province.name_en}')]]").nil?
127
- raise WebScraper::ElementNotFoundError,
128
- "No link containing '#{sample_province.name_en}' was found in a table on #{URL}"
129
- end
130
-
131
- sample_row.parent.xpath("child::tr")
132
- end
122
+ row
133
123
  end
134
124
  end
135
125
 
data/lib/pumi/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Pumi
2
- VERSION = "0.44.0".freeze
2
+ VERSION = "0.44.2".freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pumi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.44.0
4
+ version: 0.44.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Wilkie
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-09-13 00:00:00.000000000 Z
11
+ date: 2026-10-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler