traject 0.0.2 → 0.9.1

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.
Files changed (63) hide show
  1. data/Gemfile +4 -0
  2. data/README.md +85 -61
  3. data/Rakefile +5 -0
  4. data/bin/traject +31 -3
  5. data/doc/settings.md +74 -13
  6. data/lib/tasks/load_maps.rake +48 -0
  7. data/lib/traject/indexer/settings.rb +75 -0
  8. data/lib/traject/indexer.rb +255 -45
  9. data/lib/traject/json_writer.rb +4 -2
  10. data/lib/traject/macros/marc21.rb +18 -6
  11. data/lib/traject/macros/marc21_semantics.rb +405 -0
  12. data/lib/traject/macros/marc_format_classifier.rb +180 -0
  13. data/lib/traject/marc4j_reader.rb +160 -0
  14. data/lib/traject/marc_extractor.rb +33 -17
  15. data/lib/traject/marc_reader.rb +14 -11
  16. data/lib/traject/solrj_writer.rb +247 -9
  17. data/lib/traject/thread_pool.rb +154 -0
  18. data/lib/traject/translation_map.rb +46 -4
  19. data/lib/traject/util.rb +30 -0
  20. data/lib/traject/version.rb +1 -1
  21. data/lib/translation_maps/lcc_top_level.yaml +26 -0
  22. data/lib/translation_maps/marc_genre_007.yaml +9 -0
  23. data/lib/translation_maps/marc_genre_leader.yaml +22 -0
  24. data/lib/translation_maps/marc_geographic.yaml +589 -0
  25. data/lib/translation_maps/marc_instruments.yaml +102 -0
  26. data/lib/translation_maps/marc_languages.yaml +490 -0
  27. data/test/indexer/each_record_test.rb +34 -0
  28. data/test/indexer/macros_marc21_semantics_test.rb +206 -0
  29. data/test/indexer/macros_marc21_test.rb +10 -1
  30. data/test/indexer/map_record_test.rb +78 -8
  31. data/test/indexer/read_write_test.rb +43 -10
  32. data/test/indexer/settings_test.rb +60 -4
  33. data/test/indexer/to_field_test.rb +39 -0
  34. data/test/marc4j_reader_test.rb +75 -0
  35. data/test/marc_extractor_test.rb +62 -0
  36. data/test/marc_format_classifier_test.rb +91 -0
  37. data/test/marc_reader_test.rb +12 -0
  38. data/test/solrj_writer_test.rb +146 -43
  39. data/test/test_helper.rb +50 -0
  40. data/test/test_support/245_no_ab.marc +1 -0
  41. data/test/test_support/880_with_no_6.utf8.marc +1 -0
  42. data/test/test_support/bad_subfield_code.marc +1 -0
  43. data/test/test_support/date_resort_to_260.marc +1 -0
  44. data/test/test_support/date_type_r_missing_date2.marc +1 -0
  45. data/test/test_support/date_with_u.marc +1 -0
  46. data/test/test_support/demo_config.rb +153 -0
  47. data/test/test_support/emptyish_record.marc +1 -0
  48. data/test/test_support/louis_armstrong.marc +1 -0
  49. data/test/test_support/manuscript_online_thesis.marc +1 -0
  50. data/test/test_support/microform_online_conference.marc +1 -0
  51. data/test/test_support/multi_era.marc +1 -0
  52. data/test/test_support/multi_geo.marc +1 -0
  53. data/test/test_support/musical_cage.marc +1 -0
  54. data/test/test_support/one-marc8.mrc +1 -0
  55. data/test/test_support/online_only.marc +1 -0
  56. data/test/test_support/packed_041a_lang.marc +1 -0
  57. data/test/test_support/the_business_ren.marc +1 -0
  58. data/test/translation_map_test.rb +8 -0
  59. data/test/translation_maps/properties_map.properties +5 -0
  60. data/traject.gemspec +1 -1
  61. data/vendor/marc4j/README.md +17 -0
  62. data/vendor/marc4j/lib/marc4j-2.5.1-beta.jar +0 -0
  63. metadata +81 -2
@@ -0,0 +1,589 @@
1
+ # Translation map for marc geographic codes constructed by `rake load_maps:marc_geographic` task
2
+ # Scraped from http://www.loc.gov/marc/geoareas/gacs_code.html at 2013-07-31 12:05:20 -0400
3
+ # Intentionally includes discontinued codes.
4
+
5
+ 'a': 'Asia'
6
+ 'a-af': 'Afghanistan'
7
+ 'a-ai': 'Armenia (Republic)'
8
+ 'a-aj': 'Azerbaijan'
9
+ 'a-ba': 'Bahrain'
10
+ 'a-bg': 'Bangladesh'
11
+ 'a-bn': 'Borneo'
12
+ 'a-br': 'Burma'
13
+ 'a-bt': 'Bhutan'
14
+ 'a-bx': 'Brunei'
15
+ 'a-cb': 'Cambodia'
16
+ 'a-cc': 'China'
17
+ 'a-cc-an': 'Anhui Sheng (China)'
18
+ 'a-cc-ch': 'Zhejiang Sheng (China)'
19
+ 'a-cc-cq': 'Chongqing (China)'
20
+ 'a-cc-fu': 'Fujian Sheng (China)'
21
+ 'a-cc-ha': 'Hainan Sheng (China)'
22
+ 'a-cc-he': 'Heilongjiang Sheng (China)'
23
+ 'a-cc-hh': 'Hubei Sheng (China)'
24
+ 'a-cc-hk': 'Hong Kong (China)'
25
+ 'a-cc-ho': 'Henan Sheng (China)'
26
+ 'a-cc-hp': 'Hebei Sheng (China)'
27
+ 'a-cc-hu': 'Hunan Sheng (China)'
28
+ 'a-cc-im': 'Inner Mongolia (China)'
29
+ 'a-cc-ka': 'Gansu Sheng (China)'
30
+ 'a-cc-kc': 'Guangxi Zhuangzu Zizhiqu (China)'
31
+ 'a-cc-ki': 'Jiangxi Sheng (China)'
32
+ 'a-cc-kn': 'Guangdong Sheng (China)'
33
+ 'a-cc-kr': 'Jilin Sheng (China)'
34
+ 'a-cc-ku': 'Jiangsu Sheng (China)'
35
+ 'a-cc-kw': 'Guizhou Sheng (China)'
36
+ 'a-cc-lp': 'Liaoning Sheng (China)'
37
+ 'a-cc-mh': 'Macau (China : Special Administrative Region)'
38
+ 'a-cc-nn': 'Ningxia Huizu Zizhiqu (China)'
39
+ 'a-cc-pe': 'Beijing (China)'
40
+ 'a-cc-sh': 'Shanxi Sheng (China)'
41
+ 'a-cc-sm': 'Shanghai (China)'
42
+ 'a-cc-sp': 'Shandong Sheng (China)'
43
+ 'a-cc-ss': 'Shaanxi Sheng (China)'
44
+ 'a-cc-su': 'Xinjiang Uygur Zizhiqu (China)'
45
+ 'a-cc-sz': 'Sichuan Sheng (China)'
46
+ 'a-cc-ti': 'Tibet (China)'
47
+ 'a-cc-tn': 'Tianjin (China)'
48
+ 'a-cc-ts': 'Qinghai Sheng (China)'
49
+ 'a-cc-yu': 'Yunnan Sheng (China)'
50
+ 'a-ccg': 'Yangtze River (China)'
51
+ 'a-cck': 'Kunlun Mountains (China and India)'
52
+ 'a-ccp': 'Bo Hai (China)'
53
+ 'a-ccs': 'Xi River (China)'
54
+ 'a-ccy': 'Yellow River (China)'
55
+ 'a-ce': 'Sri Lanka'
56
+ 'a-ch': 'Taiwan'
57
+ 'a-cy': 'Cyprus'
58
+ 'a-em': 'Timor-Leste'
59
+ 'a-gs': 'Georgia (Republic)'
60
+ 'a-hk': 'Hong Kong'
61
+ 'a-ii': 'India'
62
+ 'a-io': 'Indonesia'
63
+ 'a-iq': 'Iraq'
64
+ 'a-ir': 'Iran'
65
+ 'a-is': 'Israel'
66
+ 'a-ja': 'Japan'
67
+ 'a-jo': 'Jordan'
68
+ 'a-kg': 'Kyrgyzstan'
69
+ 'a-kn': 'Korea (North)'
70
+ 'a-ko': 'Korea (South)'
71
+ 'a-kr': 'Korea'
72
+ 'a-ku': 'Kuwait'
73
+ 'a-kz': 'Kazakhstan'
74
+ 'a-le': 'Lebanon'
75
+ 'a-ls': 'Laos'
76
+ 'a-mh': 'Macao'
77
+ 'a-mk': 'Oman'
78
+ 'a-mp': 'Mongolia'
79
+ 'a-my': 'Malaysia'
80
+ 'a-np': 'Nepal'
81
+ 'a-nw': 'New Guinea'
82
+ 'a-ok': 'Okinawa'
83
+ 'a-ph': 'Philippines'
84
+ 'a-pk': 'Pakistan'
85
+ 'a-pp': 'Papua New Guinea'
86
+ 'a-pt': 'Portuguese Timor'
87
+ 'a-qa': 'Qatar'
88
+ 'a-si': 'Singapore'
89
+ 'a-sk': 'Sikkim'
90
+ 'a-su': 'Saudi Arabia'
91
+ 'a-sy': 'Syria'
92
+ 'a-ta': 'Tajikistan'
93
+ 'a-th': 'Thailand'
94
+ 'a-tk': 'Turkmenistan'
95
+ 'a-ts': 'United Arab Emirates'
96
+ 'a-tu': 'Turkey'
97
+ 'a-uz': 'Uzbekistan'
98
+ 'a-vn': 'Viet Nam, North'
99
+ 'a-vs': 'Viet Nam, South'
100
+ 'a-vt': 'Vietnam'
101
+ 'a-ye': 'Yemen (Republic)'
102
+ 'a-ys': 'Yemen (People''s Democratic Republic)'
103
+ 'aa': 'Amur River (China and Russia)'
104
+ 'ab': 'Bengal, Bay of'
105
+ 'ac': 'Asia, Central'
106
+ 'ae': 'East Asia'
107
+ 'af': 'Thailand, Gulf of'
108
+ 'ag': 'Mekong River'
109
+ 'ah': 'Himalaya Mountains'
110
+ 'ai': 'Indochina'
111
+ 'ak': 'Caspian Sea'
112
+ 'am': 'Malaya'
113
+ 'an': 'East China Sea'
114
+ 'ao': 'South China Sea'
115
+ 'aopf': 'Paracel Islands'
116
+ 'aoxp': 'Spratly Islands'
117
+ 'ap': 'Persian Gulf'
118
+ 'ar': 'Arabian Peninsula'
119
+ 'as': 'Southeast Asia'
120
+ 'at': 'Tien Shan'
121
+ 'au': 'Arabian Sea'
122
+ 'aw': 'Middle East'
123
+ 'awba': 'West Bank'
124
+ 'awgz': 'Gaza Strip'
125
+ 'awiu': 'Israel-Syria Demilitarized Zones'
126
+ 'awiw': 'Israel-Jordan Demilitarized Zones'
127
+ 'awiy': 'Iraq-Saudi Arabia Neutral Zone'
128
+ 'ay': 'Yellow Sea'
129
+ 'az': 'South Asia'
130
+ 'b': 'Commonwealth countries'
131
+ 'c': 'Intercontinental areas (Western Hemisphere)'
132
+ 'cc': 'Caribbean Area; Caribbean Sea'
133
+ 'cl': 'Latin America'
134
+ 'cm': 'Middle America'
135
+ 'cr': 'Circumcaribbean'
136
+ 'd': 'Developing countries'
137
+ 'dd': 'Developed countries'
138
+ 'e': 'Europe'
139
+ 'e-aa': 'Albania'
140
+ 'e-an': 'Andorra'
141
+ 'e-au': 'Austria'
142
+ 'e-be': 'Belgium'
143
+ 'e-bn': 'Bosnia and Hercegovina'
144
+ 'e-bu': 'Bulgaria'
145
+ 'e-bw': 'Belarus'
146
+ 'e-ci': 'Croatia'
147
+ 'e-cs': 'Czechoslovakia'
148
+ 'e-dk': 'Denmark'
149
+ 'e-er': 'Estonia'
150
+ 'e-fi': 'Finland'
151
+ 'e-fr': 'France'
152
+ 'e-ge': 'Germany (East)'
153
+ 'e-gi': 'Gibraltar'
154
+ 'e-gr': 'Greece'
155
+ 'e-gw': 'Germany (West)'
156
+ 'e-gx': 'Germany'
157
+ 'e-hu': 'Hungary'
158
+ 'e-ic': 'Iceland'
159
+ 'e-ie': 'Ireland'
160
+ 'e-it': 'Italy'
161
+ 'e-kv': 'Kosovo'
162
+ 'e-lh': 'Liechtenstein'
163
+ 'e-li': 'Lithuania'
164
+ 'e-lu': 'Luxembourg'
165
+ 'e-lv': 'Latvia'
166
+ 'e-mc': 'Monaco'
167
+ 'e-mm': 'Malta'
168
+ 'e-mo': 'Montenegro'
169
+ 'e-mv': 'Moldova'
170
+ 'e-ne': 'Netherlands'
171
+ 'e-no': 'Norway'
172
+ 'e-pl': 'Poland'
173
+ 'e-po': 'Portugal'
174
+ 'e-rb': 'Serbia'
175
+ 'e-rm': 'Romania'
176
+ 'e-ru': 'Russia (Federation)'
177
+ 'e-sm': 'San Marino'
178
+ 'e-sp': 'Spain'
179
+ 'e-sw': 'Sweden'
180
+ 'e-sz': 'Switzerland'
181
+ 'e-uk': 'Great Britain'
182
+ 'e-uk-en': 'England'
183
+ 'e-uk-ni': 'Northern Ireland'
184
+ 'e-uk-st': 'Scotland'
185
+ 'e-uk-ui': 'Great Britain Miscellaneous Island Dependencies'
186
+ 'e-uk-wl': 'Wales'
187
+ 'e-un': 'Ukraine'
188
+ 'e-ur': 'Russia. Russian Empire. Soviet Union. Former Soviet Republics'
189
+ 'e-ur-ai': 'Armenia (Republic)'
190
+ 'e-ur-aj': 'Azerbaijan'
191
+ 'e-ur-bw': 'Belarus'
192
+ 'e-ur-er': 'Estonia'
193
+ 'e-ur-gs': 'Georgia (Republic)'
194
+ 'e-ur-kg': 'Kyrgyzstan'
195
+ 'e-ur-kz': 'Kazakhstan'
196
+ 'e-ur-li': 'Lithuania'
197
+ 'e-ur-lv': 'Latvia'
198
+ 'e-ur-mv': 'Moldova'
199
+ 'e-ur-ru': 'Russia (Federation)'
200
+ 'e-ur-ta': 'Tajikistan'
201
+ 'e-ur-tk': 'Turkmenistan'
202
+ 'e-ur-un': 'Ukraine'
203
+ 'e-ur-uz': 'Uzbekistan'
204
+ 'e-urc': 'Central Chernozem Region (Russia)'
205
+ 'e-ure': 'Siberia, Eastern (Russia)'
206
+ 'e-urf': 'Russian Far East (Russia)'
207
+ 'e-urk': 'Caucasus'
208
+ 'e-url': 'Central Region, RSFSR'
209
+ 'e-urn': 'Soviet Union, Northwestern'
210
+ 'e-uro': 'Soviet Central Asia'
211
+ 'e-urp': 'Volga River (Russia)'
212
+ 'e-urr': 'Caucasus, Northern (Russia)'
213
+ 'e-urs': 'Siberia (Russia)'
214
+ 'e-uru': 'Ural Mountains (Russia)'
215
+ 'e-urv': 'Volgo-Viatskii Region, RSFSR'
216
+ 'e-urw': 'Siberia, Western (Russia)'
217
+ 'e-vc': 'Vatican City'
218
+ 'e-xn': 'Macedonia (Republic)'
219
+ 'e-xo': 'Slovakia'
220
+ 'e-xr': 'Czech Republic'
221
+ 'e-xv': 'Slovenia'
222
+ 'e-yu': 'Serbia and Montenegro; Yugoslavia'
223
+ 'ea': 'Alps'
224
+ 'eb': 'Baltic States'
225
+ 'ec': 'Europe, Central'
226
+ 'ed': 'Balkan Peninsula'
227
+ 'ee': 'Europe, Eastern'
228
+ 'ei': 'Iberian Peninsula'
229
+ 'el': 'Benelux countries'
230
+ 'en': 'Europe, Northern'
231
+ 'eo': 'Danube River'
232
+ 'ep': 'Pyrenees'
233
+ 'er': 'Rhine River'
234
+ 'es': 'Europe, Southern'
235
+ 'et': 'Europe, East Central'
236
+ 'ev': 'Scandinavia'
237
+ 'ew': 'Europe, Western'
238
+ 'f': 'Africa'
239
+ 'f-ae': 'Algeria'
240
+ 'f-ao': 'Angola'
241
+ 'f-bd': 'Burundi'
242
+ 'f-bs': 'Botswana'
243
+ 'f-by': 'Biafra'
244
+ 'f-cd': 'Chad'
245
+ 'f-cf': 'Congo (Brazzaville)'
246
+ 'f-cg': 'Congo (Democratic Republic)'
247
+ 'f-cm': 'Cameroon'
248
+ 'f-cx': 'Central African Republic'
249
+ 'f-dm': 'Benin'
250
+ 'f-ea': 'Eritrea'
251
+ 'f-eg': 'Equatorial Guinea'
252
+ 'f-et': 'Ethiopia'
253
+ 'f-ft': 'Djibouti'
254
+ 'f-gh': 'Ghana'
255
+ 'f-gm': 'Gambia'
256
+ 'f-go': 'Gabon'
257
+ 'f-gv': 'Guinea'
258
+ 'f-if': 'Ifni'
259
+ 'f-iv': 'Côte d''Ivoire'
260
+ 'f-ke': 'Kenya'
261
+ 'f-lb': 'Liberia'
262
+ 'f-lo': 'Lesotho'
263
+ 'f-ly': 'Libya'
264
+ 'f-mg': 'Madagascar'
265
+ 'f-ml': 'Mali'
266
+ 'f-mr': 'Morocco'
267
+ 'f-mu': 'Mauritania'
268
+ 'f-mw': 'Malawi'
269
+ 'f-mz': 'Mozambique'
270
+ 'f-ng': 'Niger'
271
+ 'f-nr': 'Nigeria'
272
+ 'f-pg': 'Guinea-Bissau'
273
+ 'f-rh': 'Zimbabwe'
274
+ 'f-rw': 'Rwanda'
275
+ 'f-sa': 'South Africa'
276
+ 'f-sd': 'South Sudan'
277
+ 'f-sf': 'Sao Tome and Principe'
278
+ 'f-sg': 'Senegal'
279
+ 'f-sh': 'Spanish North Africa'
280
+ 'f-sj': 'Sudan'
281
+ 'f-sl': 'Sierra Leone'
282
+ 'f-so': 'Somalia'
283
+ 'f-sq': 'Swaziland'
284
+ 'f-ss': 'Western Sahara'
285
+ 'f-sx': 'Namibia'
286
+ 'f-tg': 'Togo'
287
+ 'f-ti': 'Tunisia'
288
+ 'f-tz': 'Tanzania'
289
+ 'f-ua': 'Egypt'
290
+ 'f-ug': 'Uganda'
291
+ 'f-uv': 'Burkina Faso'
292
+ 'f-za': 'Zambia'
293
+ 'fa': 'Atlas Mountains'
294
+ 'fb': 'Africa, Sub-Saharan'
295
+ 'fc': 'Africa, Central'
296
+ 'fd': 'Sahara'
297
+ 'fe': 'Africa, Eastern'
298
+ 'ff': 'Africa, North'
299
+ 'fg': 'Congo River'
300
+ 'fh': 'Africa, Northeast'
301
+ 'fi': 'Niger River'
302
+ 'fl': 'Nile River'
303
+ 'fn': 'Sudan (Region)'
304
+ 'fq': 'Africa, French-speaking Equatorial'
305
+ 'fr': 'Great Rift Valley'
306
+ 'fs': 'Africa, Southern'
307
+ 'fu': 'Suez Canal (Egypt)'
308
+ 'fv': 'Volta River (Ghana)'
309
+ 'fw': 'Africa, West'
310
+ 'fz': 'Zambezi River'
311
+ 'h': 'French Community'
312
+ 'i': 'Indian Ocean'
313
+ 'i-bi': 'British Indian Ocean Territory'
314
+ 'i-cq': 'Comoros'
315
+ 'i-fs': 'Terres australes et antarctiques françaises'
316
+ 'i-hm': 'Heard and McDonald Islands'
317
+ 'i-mf': 'Mauritius'
318
+ 'i-my': 'Mayotte'
319
+ 'i-re': 'Réunion'
320
+ 'i-se': 'Seychelles'
321
+ 'i-xa': 'Christmas Island (Indian Ocean)'
322
+ 'i-xb': 'Cocos (Keeling) Islands'
323
+ 'i-xc': 'Maldives'
324
+ 'i-xo': 'Socotra Island'
325
+ 'l': 'Atlantic Ocean'
326
+ 'ln': 'North Atlantic Ocean'
327
+ 'lnaz': 'Azores'
328
+ 'lnbm': 'Bermuda Islands'
329
+ 'lnca': 'Canary Islands'
330
+ 'lncv': 'Cape Verde'
331
+ 'lnfa': 'Faroe Islands'
332
+ 'lnjn': 'Jan Mayen Island'
333
+ 'lnma': 'Madeira Islands'
334
+ 'lnsb': 'Svalbard (Norway)'
335
+ 'ls': 'South Atlantic Ocean'
336
+ 'lsai': 'Ascension Island (Atlantic Ocean)'
337
+ 'lsbv': 'Bouvet Island'
338
+ 'lsfk': 'Falkland Islands'
339
+ 'lstd': 'Tristan da Cunha'
340
+ 'lsxj': 'Saint Helena'
341
+ 'lsxs': 'South Georgia and South Sandwich Islands'
342
+ 'm': 'Intercontinental areas (Eastern Hemisphere)'
343
+ 'ma': 'Arab countries'
344
+ 'mb': 'Black Sea'
345
+ 'me': 'Eurasia'
346
+ 'mm': 'Mediterranean Region; Mediterranean Sea'
347
+ 'mr': 'Red Sea'
348
+ 'n': 'North America'
349
+ 'n-cn': 'Canada'
350
+ 'n-cn-ab': 'Alberta'
351
+ 'n-cn-bc': 'British Columbia'
352
+ 'n-cn-mb': 'Manitoba'
353
+ 'n-cn-nf': 'Newfoundland and Labrador'
354
+ 'n-cn-nk': 'New Brunswick'
355
+ 'n-cn-ns': 'Nova Scotia'
356
+ 'n-cn-nt': 'Northwest Territories'
357
+ 'n-cn-nu': 'Nunavut'
358
+ 'n-cn-on': 'Ontario'
359
+ 'n-cn-pi': 'Prince Edward Island'
360
+ 'n-cn-qu': 'Québec (Province)'
361
+ 'n-cn-sn': 'Saskatchewan'
362
+ 'n-cn-yk': 'Yukon Territory'
363
+ 'n-cnh': 'Hudson Bay'
364
+ 'n-cnm': 'Maritime Provinces'
365
+ 'n-cnp': 'Prairie Provinces'
366
+ 'n-gl': 'Greenland'
367
+ 'n-mx': 'Mexico'
368
+ 'n-us': 'United States'
369
+ 'n-us-ak': 'Alaska'
370
+ 'n-us-al': 'Alabama'
371
+ 'n-us-ar': 'Arkansas'
372
+ 'n-us-az': 'Arizona'
373
+ 'n-us-ca': 'California'
374
+ 'n-us-co': 'Colorado'
375
+ 'n-us-ct': 'Connecticut'
376
+ 'n-us-dc': 'Washington (D.C.)'
377
+ 'n-us-de': 'Delaware'
378
+ 'n-us-fl': 'Florida'
379
+ 'n-us-ga': 'Georgia'
380
+ 'n-us-hi': 'Hawaii'
381
+ 'n-us-ia': 'Iowa'
382
+ 'n-us-id': 'Idaho'
383
+ 'n-us-il': 'Illinois'
384
+ 'n-us-in': 'Indiana'
385
+ 'n-us-ks': 'Kansas'
386
+ 'n-us-ky': 'Kentucky'
387
+ 'n-us-la': 'Louisiana'
388
+ 'n-us-ma': 'Massachusetts'
389
+ 'n-us-md': 'Maryland'
390
+ 'n-us-me': 'Maine'
391
+ 'n-us-mi': 'Michigan'
392
+ 'n-us-mn': 'Minnesota'
393
+ 'n-us-mo': 'Missouri'
394
+ 'n-us-ms': 'Mississippi'
395
+ 'n-us-mt': 'Montana'
396
+ 'n-us-nb': 'Nebraska'
397
+ 'n-us-nc': 'North Carolina'
398
+ 'n-us-nd': 'North Dakota'
399
+ 'n-us-nh': 'New Hampshire'
400
+ 'n-us-nj': 'New Jersey'
401
+ 'n-us-nm': 'New Mexico'
402
+ 'n-us-nv': 'Nevada'
403
+ 'n-us-ny': 'New York'
404
+ 'n-us-oh': 'Ohio'
405
+ 'n-us-ok': 'Oklahoma'
406
+ 'n-us-or': 'Oregon'
407
+ 'n-us-pa': 'Pennsylvania'
408
+ 'n-us-ri': 'Rhode Island'
409
+ 'n-us-sc': 'South Carolina'
410
+ 'n-us-sd': 'South Dakota'
411
+ 'n-us-tn': 'Tennessee'
412
+ 'n-us-tx': 'Texas'
413
+ 'n-us-ut': 'Utah'
414
+ 'n-us-va': 'Virginia'
415
+ 'n-us-vt': 'Vermont'
416
+ 'n-us-wa': 'Washington (State)'
417
+ 'n-us-wi': 'Wisconsin'
418
+ 'n-us-wv': 'West Virginia'
419
+ 'n-us-wy': 'Wyoming'
420
+ 'n-usa': 'Appalachian Mountains'
421
+ 'n-usc': 'Middle West'
422
+ 'n-use': 'Northeastern States'
423
+ 'n-usl': 'Middle Atlantic States'
424
+ 'n-usm': 'Mississippi River'
425
+ 'n-usn': 'New England'
426
+ 'n-uso': 'Ohio River'
427
+ 'n-usp': 'West (U.S.)'
428
+ 'n-usr': 'East (U.S.)'
429
+ 'n-uss': 'Missouri River'
430
+ 'n-ust': 'Southwest, New'
431
+ 'n-usu': 'Southern States'
432
+ 'n-usw': 'Northwest (U.S.)'
433
+ 'n-xl': 'Saint Pierre and Miquelon'
434
+ 'nc': 'Central America'
435
+ 'ncbh': 'Belize'
436
+ 'nccr': 'Costa Rica'
437
+ 'nccz': 'Canal Zone'
438
+ 'nces': 'El Salvador'
439
+ 'ncgt': 'Guatemala'
440
+ 'ncho': 'Honduras'
441
+ 'ncnq': 'Nicaragua'
442
+ 'ncpn': 'Panama'
443
+ 'nl': 'Great Lakes (North America); Lake States'
444
+ 'nm': 'Mexico, Gulf of'
445
+ 'np': 'Great Plains'
446
+ 'nr': 'Rocky Mountains'
447
+ 'nw': 'West Indies'
448
+ 'nwaq': 'Antigua and Barbuda'
449
+ 'nwaw': 'Aruba'
450
+ 'nwbb': 'Barbados'
451
+ 'nwbc': 'Barbuda'
452
+ 'nwbf': 'Bahamas'
453
+ 'nwbn': 'Bonaire'
454
+ 'nwcj': 'Cayman Islands'
455
+ 'nwco': 'Curaçao'
456
+ 'nwcu': 'Cuba'
457
+ 'nwdq': 'Dominica'
458
+ 'nwdr': 'Dominican Republic'
459
+ 'nweu': 'Sint Eustatius'
460
+ 'nwga': 'Greater Antilles'
461
+ 'nwgd': 'Grenada'
462
+ 'nwgp': 'Guadeloupe'
463
+ 'nwgs': 'Grenadines'
464
+ 'nwhi': 'Hispaniola'
465
+ 'nwht': 'Haiti'
466
+ 'nwjm': 'Jamaica'
467
+ 'nwla': 'Antilles, Lesser'
468
+ 'nwli': 'Leeward Islands (West Indies)'
469
+ 'nwmj': 'Montserrat'
470
+ 'nwmq': 'Martinique'
471
+ 'nwna': 'Netherlands Antilles'
472
+ 'nwpr': 'Puerto Rico'
473
+ 'nwsb': 'Saint-Barthélemy'
474
+ 'nwsc': 'Saint-Barthélemy'
475
+ 'nwsd': 'Saba'
476
+ 'nwsn': 'Sint Maarten'
477
+ 'nwst': 'Saint-Martin'
478
+ 'nwsv': 'Swan Islands (Honduras)'
479
+ 'nwtc': 'Turks and Caicos Islands'
480
+ 'nwtr': 'Trinidad and Tobago'
481
+ 'nwuc': 'United States Miscellaneous Caribbean Islands'
482
+ 'nwvb': 'British Virgin Islands'
483
+ 'nwvi': 'Virgin Islands of the United States'
484
+ 'nwvr': 'Virgin Islands'
485
+ 'nwwi': 'Windward Islands (West Indies)'
486
+ 'nwxa': 'Anguilla'
487
+ 'nwxi': 'Saint Kitts and Nevis'
488
+ 'nwxk': 'Saint Lucia'
489
+ 'nwxm': 'Saint Vincent and the Grenadines'
490
+ 'p': 'Pacific Ocean'
491
+ 'pn': 'North Pacific Ocean'
492
+ 'po': 'Oceania'
493
+ 'poas': 'American Samoa'
494
+ 'pobp': 'Solomon Islands'
495
+ 'poci': 'Caroline Islands'
496
+ 'pocp': 'Canton and Enderbury Islands'
497
+ 'pocw': 'Cook Islands'
498
+ 'poea': 'Easter Island'
499
+ 'pofj': 'Fiji'
500
+ 'pofp': 'French Polynesia'
501
+ 'pogg': 'Galapagos Islands'
502
+ 'pogn': 'Gilbert and Ellice Islands'
503
+ 'pogu': 'Guam'
504
+ 'poji': 'Johnston Island'
505
+ 'pokb': 'Kiribati'
506
+ 'poki': 'Kermadec Islands'
507
+ 'poln': 'Line Islands'
508
+ 'pome': 'Melanesia'
509
+ 'pomi': 'Micronesia (Federated States)'
510
+ 'ponl': 'New Caledonia'
511
+ 'ponn': 'Vanuatu'
512
+ 'ponu': 'Nauru'
513
+ 'popc': 'Pitcairn Island'
514
+ 'popl': 'Palau'
515
+ 'pops': 'Polynesia'
516
+ 'pory': 'Ryukyu Islands, Southern'
517
+ 'posc': 'Santa Cruz Islands'
518
+ 'posh': 'Samoan Islands'
519
+ 'posn': 'Solomon Islands'
520
+ 'potl': 'Tokelau'
521
+ 'poto': 'Tonga'
522
+ 'pott': 'Micronesia'
523
+ 'potv': 'Tuvalu'
524
+ 'poup': 'United States Miscellaneous Pacific Islands'
525
+ 'powf': 'Wallis and Futuna Islands'
526
+ 'powk': 'Wake Island'
527
+ 'pows': 'Samoa'
528
+ 'poxd': 'Mariana Islands'
529
+ 'poxe': 'Marshall Islands'
530
+ 'poxf': 'Midway Islands'
531
+ 'poxh': 'Niue'
532
+ 'ps': 'South Pacific Ocean'
533
+ 'q': 'Cold regions'
534
+ 'r': 'Arctic Ocean; Arctic regions'
535
+ 's': 'South America'
536
+ 's-ag': 'Argentina'
537
+ 's-bl': 'Brazil'
538
+ 's-bo': 'Bolivia'
539
+ 's-ck': 'Colombia'
540
+ 's-cl': 'Chile'
541
+ 's-ec': 'Ecuador'
542
+ 's-fg': 'French Guiana'
543
+ 's-gy': 'Guyana'
544
+ 's-pe': 'Peru'
545
+ 's-py': 'Paraguay'
546
+ 's-sr': 'Suriname'
547
+ 's-uy': 'Uruguay'
548
+ 's-ve': 'Venezuela'
549
+ 'sa': 'Amazon River'
550
+ 'sn': 'Andes'
551
+ 'sp': 'Rio de la Plata (Argentina and Uruguay)'
552
+ 't': 'Antarctic Ocean; Antarctica'
553
+ 't-ay': 'Antarctica'
554
+ 'u': 'Australasia'
555
+ 'u-ac': 'Ashmore and Cartier Islands'
556
+ 'u-at': 'Australia'
557
+ 'u-at-ac': 'Australian Capital Territory'
558
+ 'u-atc': 'Central Australia'
559
+ 'u-ate': 'Eastern Australia'
560
+ 'u-atn': 'Northern Australia'
561
+ 'u-at-ne': 'New South Wales'
562
+ 'u-at-no': 'Northern Territory'
563
+ 'u-at-qn': 'Queensland'
564
+ 'u-at-sa': 'South Australia'
565
+ 'u-at-tm': 'Tasmania'
566
+ 'u-at-vi': 'Victoria'
567
+ 'u-at-we': 'Western Australia'
568
+ 'u-cs': 'Coral Sea Islands'
569
+ 'u-nz': 'New Zealand'
570
+ 'v': 'Communist countries'
571
+ 'w': 'Tropics'
572
+ 'x': 'Earth'
573
+ 'xa': 'Eastern Hemisphere'
574
+ 'xb': 'Northern Hemisphere'
575
+ 'xc': 'Southern Hemisphere'
576
+ 'xd': 'Western Hemisphere'
577
+ 'zd': 'Deep space'
578
+ 'zju': 'Jupiter'
579
+ 'zma': 'Mars'
580
+ 'zme': 'Mercury'
581
+ 'zmo': 'Moon'
582
+ 'zne': 'Neptune'
583
+ 'zo': 'Outer space'
584
+ 'zpl': 'Pluto'
585
+ 'zs': 'Solar system'
586
+ 'zsa': 'Saturn'
587
+ 'zsu': 'Sun'
588
+ 'zur': 'Uranus'
589
+ 'zve': 'Venus'
@@ -0,0 +1,102 @@
1
+ # Mapping of Instrument Codes from 048 to User Friendly Term
2
+
3
+ ba: Horn
4
+ bb: Trumpet
5
+ bc: Cornet
6
+ bd: Trombone
7
+ be: Tuba
8
+ bf: Baritone horn
9
+ bn: Brass, Unspecified
10
+ bu: Brass, Unknown
11
+ by: Brass, Ethnic
12
+ bz: Brass, Other
13
+ ca: Choruses, Mixed
14
+ cb: Chorus, Women's
15
+ cc: Choruses, Men's
16
+ cd: Choruses, Children's
17
+ cn: Choruses, Unspecified
18
+ cu: Chorus, Unknown
19
+ cy: Choruses, Ethnic
20
+ ea: Synthesizer
21
+ eb: Electronic Tape
22
+ ec: Computer
23
+ ed: Ondes Martinot
24
+ en: Electronic, Unspecified
25
+ eu: Electronic, Unknown
26
+ ez: Electronic, Other
27
+ ka: Piano
28
+ kb: Organ
29
+ kc: Harpsichord
30
+ kd: Clavichord
31
+ ke: Continuo
32
+ kf: Celeste
33
+ kn: Keyboard, Unspecified
34
+ ku: Keyboard, Unknown
35
+ ky: Keyboard, Ethnic
36
+ kz: Keyboard, Other
37
+ oa: Full orchestra
38
+ ob: Chamber orchestra
39
+ oc: String orchestra
40
+ od: Band
41
+ oe: Dance orchestra
42
+ of: Brass band
43
+ # some weird as hell thing where ruby YAML parser changes 'on' to true, wtf, grr.
44
+ 'on': Larger ensemble, Unspecified
45
+ ou: Larger ensemble, Unknown
46
+ oy: Larger ensemble, Ethnic
47
+ oz: Larger ensemble, Other
48
+ pa: Timpani
49
+ pb: Xylophone
50
+ pc: Marimba
51
+ pd: Drum
52
+ pn: Percussion, Unspecified
53
+ pu: Percussion, Unknown
54
+ py: Percussion, Ethnic
55
+ pz: Percussion, Other
56
+ sa: Violin
57
+ sb: Viola
58
+ sc: Violoncello
59
+ sd: Double bass
60
+ se: Viol
61
+ sf: Viola d'amore
62
+ sg: Viola da gamba
63
+ sn: Bowed Strings, Unspecified
64
+ su: Bowed Strings, Unknown
65
+ sy: Bowed Strings, Ethnic
66
+ sz: Bowed Strings, Other
67
+ ta: Harp
68
+ tb: Guitar
69
+ tc: Lute
70
+ td: Mandolin
71
+ tn: Plucked Strings, Unspecified
72
+ tu: Plucked Strings, Unknown
73
+ ty: Plucked Strings, Ethnic
74
+ tz: Plucked Strings, Other
75
+ va: Soprano voice
76
+ vb: Mezzo soprano voice
77
+ vc: Alto voice
78
+ vd: Tenor voice
79
+ ve: Baritone voice
80
+ vf: Bass voice
81
+ vg: Counter tenor voice
82
+ vh: High voice
83
+ vi: Medium voice
84
+ vj: Low voice
85
+ vn: Voices, Unspecified
86
+ vu: Voices, Unknown
87
+ vy: Voices, Ethnic
88
+ wa: Flute
89
+ wb: Oboe
90
+ wc: Clarinet
91
+ wd: Bassoon
92
+ we: Piccolo
93
+ wf: English horn
94
+ wg: Bass clarinet
95
+ wh: Recorder
96
+ wi: Saxophone
97
+ wn: Woodwinds, Unspecified
98
+ wu: Woodwinds, Unknown
99
+ wy: Woodwinds, Ethnic
100
+ wz: Woodwinds, Other
101
+ zn: Unspecified instruments
102
+ zu: Unknown