ds-convert 0.1.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.
- checksums.yaml +7 -0
- data/README.md +294 -0
- data/Rakefile +12 -0
- data/config/settings.yml +150 -0
- data/exe/ds-convert +149 -0
- data/exe/ds-recon +275 -0
- data/exe/ds-validate-csv +40 -0
- data/exe/marc-mrc-to-xml.rb +80 -0
- data/lib/ds/cli.rb +102 -0
- data/lib/ds/constants.rb +166 -0
- data/lib/ds/converter/converter.rb +124 -0
- data/lib/ds/converter/writer.rb +50 -0
- data/lib/ds/converter.rb +7 -0
- data/lib/ds/csv_util.rb +43 -0
- data/lib/ds/data/berkeley-arks.txt +4000 -0
- data/lib/ds/data/getty-aat-centuries.csv +71 -0
- data/lib/ds/data/iiif_manifests.csv +122 -0
- data/lib/ds/data/legacy-iiif-manifests.csv +77 -0
- data/lib/ds/ds_error.rb +1 -0
- data/lib/ds/extractor/base_record_locator.rb +24 -0
- data/lib/ds/extractor/base_term.rb +79 -0
- data/lib/ds/extractor/csv_record_locator.rb +13 -0
- data/lib/ds/extractor/ds_csv_extractor.rb +695 -0
- data/lib/ds/extractor/ds_mets_xml_extractor.rb +1114 -0
- data/lib/ds/extractor/genre.rb +45 -0
- data/lib/ds/extractor/language.rb +31 -0
- data/lib/ds/extractor/marc_xml_extractor.rb +1172 -0
- data/lib/ds/extractor/material.rb +12 -0
- data/lib/ds/extractor/name.rb +50 -0
- data/lib/ds/extractor/place.rb +11 -0
- data/lib/ds/extractor/subject.rb +58 -0
- data/lib/ds/extractor/tei_xml_extractor.rb +687 -0
- data/lib/ds/extractor/title.rb +52 -0
- data/lib/ds/extractor/xml_record_locator.rb +38 -0
- data/lib/ds/extractor.rb +24 -0
- data/lib/ds/institutions.rb +55 -0
- data/lib/ds/manifest/base_id_validator.rb +76 -0
- data/lib/ds/manifest/constants.rb +67 -0
- data/lib/ds/manifest/ds_csv_id_validator.rb +15 -0
- data/lib/ds/manifest/entry.rb +133 -0
- data/lib/ds/manifest/manifest.rb +74 -0
- data/lib/ds/manifest/manifest_validator.rb +256 -0
- data/lib/ds/manifest/simple_xml_id_validator.rb +42 -0
- data/lib/ds/manifest.rb +30 -0
- data/lib/ds/mapper/base_mapper.rb +221 -0
- data/lib/ds/mapper/ds_csv_mapper.rb +77 -0
- data/lib/ds/mapper/ds_mets_mapper.rb +85 -0
- data/lib/ds/mapper/marc_mapper.rb +87 -0
- data/lib/ds/mapper/tei_xml_mapper.rb +79 -0
- data/lib/ds/mapper.rb +13 -0
- data/lib/ds/recon/constants.rb +56 -0
- data/lib/ds/recon/ds_csv_enumerator.rb +16 -0
- data/lib/ds/recon/ds_mets_xml_enumerator.rb +14 -0
- data/lib/ds/recon/marc_xml_enumerator.rb +15 -0
- data/lib/ds/recon/recon_builder.rb +183 -0
- data/lib/ds/recon/recon_data.rb +37 -0
- data/lib/ds/recon/recon_manager.rb +92 -0
- data/lib/ds/recon/source_enumerator.rb +21 -0
- data/lib/ds/recon/tei_xml_enumerator.rb +14 -0
- data/lib/ds/recon/type/all_subjects.rb +18 -0
- data/lib/ds/recon/type/genres.rb +50 -0
- data/lib/ds/recon/type/languages.rb +38 -0
- data/lib/ds/recon/type/materials.rb +40 -0
- data/lib/ds/recon/type/named_subjects.rb +20 -0
- data/lib/ds/recon/type/names.rb +65 -0
- data/lib/ds/recon/type/places.rb +40 -0
- data/lib/ds/recon/type/recon_type.rb +136 -0
- data/lib/ds/recon/type/splits.rb +34 -0
- data/lib/ds/recon/type/subjects.rb +65 -0
- data/lib/ds/recon/type/titles.rb +38 -0
- data/lib/ds/recon/url_lookup.rb +52 -0
- data/lib/ds/recon.rb +292 -0
- data/lib/ds/source/base_source.rb +32 -0
- data/lib/ds/source/ds_csv.rb +18 -0
- data/lib/ds/source/ds_mets_xml.rb +20 -0
- data/lib/ds/source/marc_xml.rb +22 -0
- data/lib/ds/source/source_cache.rb +69 -0
- data/lib/ds/source/tei_xml.rb +22 -0
- data/lib/ds/source.rb +20 -0
- data/lib/ds/util/cache.rb +111 -0
- data/lib/ds/util/csv_validator.rb +209 -0
- data/lib/ds/util/csv_writer.rb +42 -0
- data/lib/ds/util/strings.rb +194 -0
- data/lib/ds/util.rb +37 -0
- data/lib/ds/version.rb +5 -0
- data/lib/ds.rb +237 -0
- metadata +246 -0
@@ -0,0 +1,71 @@
|
|
1
|
+
aat_id,label,number
|
2
|
+
http://vocab.getty.edu/aat/300404465,fifteenth century (dates CE),15
|
3
|
+
http://vocab.getty.edu/aat/300404493,first century (dates CE),1
|
4
|
+
http://vocab.getty.edu/aat/300404494,second century (dates CE),2
|
5
|
+
http://vocab.getty.edu/aat/300404495,third century (dates CE),3
|
6
|
+
http://vocab.getty.edu/aat/300404496,fourth century (dates CE),4
|
7
|
+
http://vocab.getty.edu/aat/300404497,fifth century (dates CE),5
|
8
|
+
http://vocab.getty.edu/aat/300404498,sixth century (dates CE),6
|
9
|
+
http://vocab.getty.edu/aat/300404499,seventh century (dates CE),7
|
10
|
+
http://vocab.getty.edu/aat/300404500,eighth century (dates CE),8
|
11
|
+
http://vocab.getty.edu/aat/300404501,ninth century (dates CE),9
|
12
|
+
http://vocab.getty.edu/aat/300404502,tenth century (dates CE),10
|
13
|
+
http://vocab.getty.edu/aat/300404503,eleventh century (dates CE),11
|
14
|
+
http://vocab.getty.edu/aat/300404504,twelfth century (dates CE),12
|
15
|
+
http://vocab.getty.edu/aat/300404505,thirteenth century (dates CE),13
|
16
|
+
http://vocab.getty.edu/aat/300404506,fourteenth century (dates CE),14
|
17
|
+
http://vocab.getty.edu/aat/300404510,sixteenth century (dates CE),16
|
18
|
+
http://vocab.getty.edu/aat/300404511,seventeenth century (dates CE),17
|
19
|
+
http://vocab.getty.edu/aat/300404512,eighteenth century (dates CE),18
|
20
|
+
http://vocab.getty.edu/aat/300404513,nineteenth century (dates CE),19
|
21
|
+
http://vocab.getty.edu/aat/300404514,twentieth century (dates CE),20
|
22
|
+
http://vocab.getty.edu/aat/300404515,twenty-first century (dates CE),21
|
23
|
+
http://vocab.getty.edu/aat/300404516,twenty-third century (dates CE),23
|
24
|
+
http://vocab.getty.edu/aat/300404517,twenty-second century (dates CE),22
|
25
|
+
http://vocab.getty.edu/aat/300404518,first century BCE,-1
|
26
|
+
http://vocab.getty.edu/aat/300404522,second century BCE,-2
|
27
|
+
http://vocab.getty.edu/aat/300404523,third century BCE,-3
|
28
|
+
http://vocab.getty.edu/aat/300404524,fourth century BCE,-4
|
29
|
+
http://vocab.getty.edu/aat/300404525,fifth century BCE,-5
|
30
|
+
http://vocab.getty.edu/aat/300404526,sixth century BCE,-6
|
31
|
+
http://vocab.getty.edu/aat/300404527,seventh century BCE,-7
|
32
|
+
http://vocab.getty.edu/aat/300404528,eighth century BCE,-8
|
33
|
+
http://vocab.getty.edu/aat/300404529,ninth century BCE,-9
|
34
|
+
http://vocab.getty.edu/aat/300404530,tenth century BCE,-10
|
35
|
+
http://vocab.getty.edu/aat/300404531,eleventh century BCE,-11
|
36
|
+
http://vocab.getty.edu/aat/300404532,twelfth century BCE,-12
|
37
|
+
http://vocab.getty.edu/aat/300404533,thirteenth century BCE,-13
|
38
|
+
http://vocab.getty.edu/aat/300404534,fourteenth century BCE,-14
|
39
|
+
http://vocab.getty.edu/aat/300404535,fifteenth century BCE,-15
|
40
|
+
http://vocab.getty.edu/aat/300404536,sixteenth century BCE,-16
|
41
|
+
http://vocab.getty.edu/aat/300404537,seventeenth century BCE,-17
|
42
|
+
http://vocab.getty.edu/aat/300404538,eighteenth century BCE,-18
|
43
|
+
http://vocab.getty.edu/aat/300404539,nineteenth century BCE,-19
|
44
|
+
http://vocab.getty.edu/aat/300404540,twentieth century BCE,-20
|
45
|
+
http://vocab.getty.edu/aat/300404541,twenty-first century BCE,-21
|
46
|
+
http://vocab.getty.edu/aat/300404542,twenty-second century BCE,-22
|
47
|
+
http://vocab.getty.edu/aat/300404543,twenty-third century BCE,-23
|
48
|
+
http://vocab.getty.edu/aat/300404544,twenty-fourth century BCE,-24
|
49
|
+
http://vocab.getty.edu/aat/300404545,twenty-fifth century BCE,-25
|
50
|
+
http://vocab.getty.edu/aat/300404546,twenty-sixth century BCE,-26
|
51
|
+
http://vocab.getty.edu/aat/300404547,twenty-seventh century BCE,-27
|
52
|
+
http://vocab.getty.edu/aat/300404548,twenty-eighth century BCE,-28
|
53
|
+
http://vocab.getty.edu/aat/300404549,twenty-ninth century BCE,-29
|
54
|
+
http://vocab.getty.edu/aat/300404550,first millennium (dates CE),1000
|
55
|
+
http://vocab.getty.edu/aat/300404551,second millennium (dates CE),2000
|
56
|
+
http://vocab.getty.edu/aat/300404552,third millennium (dates CE),3000
|
57
|
+
http://vocab.getty.edu/aat/300404553,second millennium BCE,-2000
|
58
|
+
http://vocab.getty.edu/aat/300404554,first millennium BCE,-1000
|
59
|
+
http://vocab.getty.edu/aat/300404555,third millennium BCE,-3000
|
60
|
+
http://vocab.getty.edu/aat/300404556,fourth millennium BCE,-4000
|
61
|
+
http://vocab.getty.edu/aat/300404557,fifth millennium BCE,-5000
|
62
|
+
http://vocab.getty.edu/aat/300404558,sixth millennium BCE,-6000
|
63
|
+
http://vocab.getty.edu/aat/300404559,seventh millennium BCE,-7000
|
64
|
+
http://vocab.getty.edu/aat/300404560,eighth millennium BCE,-8000
|
65
|
+
http://vocab.getty.edu/aat/300404561,ninth millennium BCE,-9000
|
66
|
+
http://vocab.getty.edu/aat/300404562,tenth millennium BCE,-10000
|
67
|
+
http://vocab.getty.edu/aat/300404563,eleventh millennium BCE,-11000
|
68
|
+
http://vocab.getty.edu/aat/300404564,twelfth millennium BCE,-12000
|
69
|
+
http://vocab.getty.edu/aat/300404565,thirteenth millennium BCE,-13000
|
70
|
+
http://vocab.getty.edu/aat/300404566,fourteenth millennium BCE,-14000
|
71
|
+
http://vocab.getty.edu/aat/300404567,fifteenth millennium BCE,-15000
|
@@ -0,0 +1,122 @@
|
|
1
|
+
mmsid,iiif_manifest_url
|
2
|
+
9914691793503681,https://colenda.library.upenn.edu/phalt/iiif/2//manifest
|
3
|
+
9914691813503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p31j97f2x/manifest
|
4
|
+
9914691823503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3gh9bg67/manifest
|
5
|
+
9914691833503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3ws8hs7x/manifest
|
6
|
+
9914691863503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3r49gg53/manifest
|
7
|
+
9914696393503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3fb4ws7f/manifest
|
8
|
+
9914696403503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3707wv6p/manifest
|
9
|
+
9914696413503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3377622b/manifest
|
10
|
+
9914696423503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3mg7g24p/manifest
|
11
|
+
9914696433503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3zg6gd7b/manifest
|
12
|
+
9915803973503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3nk3676d/manifest
|
13
|
+
9946458153503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3463f/manifest
|
14
|
+
9946463483503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3f92w/manifest
|
15
|
+
9947469813503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p38040/manifest
|
16
|
+
9947594443503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p30d1h/manifest
|
17
|
+
9947675343503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3k649t48/manifest
|
18
|
+
9947699533503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3nz80q8v/manifest
|
19
|
+
9947974193503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p30g97/manifest
|
20
|
+
9948120243503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3h37b/manifest
|
21
|
+
9948124823503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3133g/manifest
|
22
|
+
9948175023503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3n00zt9k/manifest
|
23
|
+
9948179063503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3q643/manifest
|
24
|
+
9948181893503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3c95d/manifest
|
25
|
+
9948558353503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p39p2w678/manifest
|
26
|
+
9948588323503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3222r66r/manifest
|
27
|
+
9948617063503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3251fk8k/manifest
|
28
|
+
9949183233503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p36w9694p/manifest
|
29
|
+
9949222153503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3m03xz3w/manifest
|
30
|
+
9949237593503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3n633/manifest
|
31
|
+
9949240153503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3hd15/manifest
|
32
|
+
9949282643503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p35x25d3h/manifest
|
33
|
+
9949349953503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3qw74/manifest
|
34
|
+
9949525113503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3mg6p/manifest
|
35
|
+
9949875283503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3cq0n/manifest
|
36
|
+
9949879143503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3m33r/manifest
|
37
|
+
9949939943503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3v07d/manifest
|
38
|
+
9949945603503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p33p8v/manifest
|
39
|
+
9949956063503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3w92x/manifest
|
40
|
+
9949967773503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3zw5j/manifest
|
41
|
+
9950003033503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3q93r/manifest
|
42
|
+
9950289983503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3m05g/manifest
|
43
|
+
9950293063503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3445hd03/manifest
|
44
|
+
9950320043503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3g63j/manifest
|
45
|
+
9950345623503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3416t107/manifest
|
46
|
+
9950511113503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p30m06/manifest
|
47
|
+
9950569233503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3zm0w/manifest
|
48
|
+
9950583033503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3ff3m111/manifest
|
49
|
+
9951131033503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3pr7mv3j/manifest
|
50
|
+
9951865503503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3rd1b/manifest
|
51
|
+
9951865803503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p36d5pb6j/manifest
|
52
|
+
9951866203503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3c57s/manifest
|
53
|
+
9951882013503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p37659g80/manifest
|
54
|
+
9951882743503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3rv5b/manifest
|
55
|
+
9952666523503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p37w6764x/manifest
|
56
|
+
9953161073503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3jg62/manifest
|
57
|
+
9953161123503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3gp4r/manifest
|
58
|
+
9954084983503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p35644/manifest
|
59
|
+
9954448733503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p39w0954n/manifest
|
60
|
+
9957602663503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3gw56/manifest
|
61
|
+
9957604903503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3rk8q/manifest
|
62
|
+
9957607433503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3p26q433/manifest
|
63
|
+
9958279783503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3bk16q7m/manifest
|
64
|
+
9958452103503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3sn01497/manifest
|
65
|
+
9958589513503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3qr4nr67/manifest
|
66
|
+
9958778333503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3s17st1w/manifest
|
67
|
+
9958854883503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p31c1tg53/manifest
|
68
|
+
9958895573503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3wk8z/manifest
|
69
|
+
9959171953503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p31p4q/manifest
|
70
|
+
9959387343503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3h98zd74/manifest
|
71
|
+
9959415183503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3zk55n01/manifest
|
72
|
+
9959419423503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3p843w7r/manifest
|
73
|
+
9962496313503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3sq8qq3z/manifest
|
74
|
+
9962565163503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3bv7b23v/manifest
|
75
|
+
9962793853503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3gm81v63/manifest
|
76
|
+
9962793863503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3736m80h/manifest
|
77
|
+
9962793893503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3s46hc6t/manifest
|
78
|
+
9962793903503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3610vz60/manifest
|
79
|
+
9962793913503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3k931c96/manifest
|
80
|
+
9962878673503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3625f/manifest
|
81
|
+
9962905673503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3db7vr3g/manifest
|
82
|
+
9962984263503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p32805318/manifest
|
83
|
+
9962984323503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p33b5w832/manifest
|
84
|
+
9962986513503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3zg41/manifest
|
85
|
+
9962986713503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p31r6n35s/manifest
|
86
|
+
9962986813503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3gb15/manifest
|
87
|
+
9962986913503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p37940t6f/manifest
|
88
|
+
9962986963503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3c551/manifest
|
89
|
+
9962987793503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3p843w68/manifest
|
90
|
+
9962991713503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3pw05/manifest
|
91
|
+
9962991893503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p38k74x8m/manifest
|
92
|
+
9969738033503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3pz51t0x/manifest
|
93
|
+
9969738073503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3fj29k52/manifest
|
94
|
+
9970745763503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3p26q93b/manifest
|
95
|
+
9972460113503681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3t14tw1c/manifest
|
96
|
+
9977325732103681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3qv3c96r/manifest
|
97
|
+
9977325732203681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p39s1ks0f/manifest
|
98
|
+
9977406946003681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3rv0d67g/manifest
|
99
|
+
9977406946103681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p38s4jw06/manifest
|
100
|
+
9977406951103681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3280552n/manifest
|
101
|
+
9977406951203681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3dj58p4b/manifest
|
102
|
+
9977406951403681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3513v265/manifest
|
103
|
+
9977406951603681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3183482d/manifest
|
104
|
+
9977406951903681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3cj87s43/manifest
|
105
|
+
9977406952003681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p37s7j00c/manifest
|
106
|
+
9977406952203681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3416t56x/manifest
|
107
|
+
9977406952303681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p30863c25/manifest
|
108
|
+
9977406953003681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3tq5rm36/manifest
|
109
|
+
9977424453803681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3wh2dm7d/manifest
|
110
|
+
9977459936703681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3vx0689g/manifest
|
111
|
+
9977459936903681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p30k26j27/manifest
|
112
|
+
9977459937003681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3m61bw6q/manifest
|
113
|
+
9977459937103681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3br8mp1m/manifest
|
114
|
+
9977459940003681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3j960g9z/manifest
|
115
|
+
9977459940203681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3n29pd33/manifest
|
116
|
+
9977459940303681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3cv4bz3p/manifest
|
117
|
+
9977459940803681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3vm4340h/manifest
|
118
|
+
9977459940903681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3hm52r7t/manifest
|
119
|
+
9977459941003681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3nc5sk2p/manifest
|
120
|
+
9977459941103681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3mc8rp0g/manifest
|
121
|
+
9977508749303681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p34b2xb60/manifest
|
122
|
+
9977508749403681,https://colenda.library.upenn.edu/phalt/iiif/2/81431-p3k35mm16/manifest
|
@@ -0,0 +1,77 @@
|
|
1
|
+
holding_institution,shelfmark,iiif_manifest_url
|
2
|
+
csl,MS 10,https://iiif.archivelab.org/iiif/images_SutroCollectionMS10_12/manifest.json
|
3
|
+
csl,MS 08,https://iiif.archivelab.org/iiif/images_SutroCollectionMS08_12/manifest.json
|
4
|
+
csl,MS 07,https://iiif.archivelab.org/iiif/images_SutroCollectionMS07_12/manifest.json
|
5
|
+
csl,MS 06,https://iiif.archivelab.org/iiif/images_SutroCollectionMS06_12/manifest.json
|
6
|
+
csl,MS 05,https://iiif.archivelab.org/iiif/images_SutroCollectionMS05_12/manifest.json
|
7
|
+
csl,MS 04,https://iiif.archivelab.org/iiif/images_SutroCollectionMS04_12/manifest.json
|
8
|
+
csl,MS 02,https://iiif.archivelab.org/iiif/images_SutroCollectionMS02_12/manifest.json
|
9
|
+
csl,MS 01,https://iiif.archivelab.org/iiif/images_SutroCollectionMS01_12/manifest.json
|
10
|
+
csl,Italian Manuscripts 167,https://iiif.archivelab.org/iiif/images_SutroCollectionItalianManuscripts167_12/manifest.json
|
11
|
+
csl,Italian Manuscripts 166,https://iiif.archivelab.org/iiif/images_SutroCollectionItalianManuscripts166_12/manifest.json
|
12
|
+
csl,Italian Manuscripts 164,https://iiif.archivelab.org/iiif/images_SutroCollectionItalianManuscripts164_12/manifest.json
|
13
|
+
csl,Italian Manuscripts 163,https://iiif.archivelab.org/iiif/images_SutroCollectionItalianManuscripts163_12/manifest.json
|
14
|
+
csl,Italian Manuscripts 129,https://iiif.archivelab.org/iiif/images_SutroCollectionItalianManuscripts129_12/manifest.json
|
15
|
+
csl,Italian Manuscripts 128,https://iiif.archivelab.org/iiif/images_SutroCollectionItalianManuscripts128_12/manifest.json
|
16
|
+
csl,Italian Manuscripts 127,https://iiif.archivelab.org/iiif/images_SutroCollectionItalianManuscripts127_12/manifest.json
|
17
|
+
csl,Italian Manuscripts 126,https://iiif.archivelab.org/iiif/images_SutroCollectionItalianManuscripts126_12/manifest.json
|
18
|
+
csl,Italian Manuscripts 125,https://iiif.archivelab.org/iiif/images_SutroCollectionItalianManuscripts125_12/manifest.json
|
19
|
+
csl,Italian Manuscripts 123,https://iiif.archivelab.org/iiif/images_SutroCollectionItalianManuscripts123_12/manifest.json
|
20
|
+
csl,Italian Manuscripts 121,https://iiif.archivelab.org/iiif/images_SutroCollectionItalianManuscripts121_12/manifest.json
|
21
|
+
csl,Italian Manuscripts 098,https://iiif.archivelab.org/iiif/images_SutroCollectionItalianManuscripts098_12/manifest.json
|
22
|
+
csl,Italian Manuscripts 089,https://iiif.archivelab.org/iiif/images_SutroCollectionItalianManuscripts089_12/manifest.json
|
23
|
+
csl,Italian Manuscripts 051,https://iiif.archivelab.org/iiif/images_SutroCollectionItalianManuscripts051_12/manifest.json
|
24
|
+
csl,Italian Manuscripts 049,https://iiif.archivelab.org/iiif/images_SutroCollectionItalianManuscripts049_12/manifest.json
|
25
|
+
csl,Italian Manuscripts 048,https://iiif.archivelab.org/iiif/images_SutroCollectionItalianManuscripts048_12/manifest.json
|
26
|
+
csl,Italian Manuscripts 045,https://iiif.archivelab.org/iiif/images_SutroCollectionItalianManuscripts045_12/manifest.json
|
27
|
+
csl,Italian Manuscripts 043,https://iiif.archivelab.org/iiif/images_SutroCollectionItalianManuscripts043_12/manifest.json
|
28
|
+
csl,Italian Manuscripts 042,https://iiif.archivelab.org/iiif/images_SutroCollectionItalianManuscripts042_12/manifest.json
|
29
|
+
csl,Italian Manuscripts 041,https://iiif.archivelab.org/iiif/images_SutroCollectionItalianManuscripts041_12/manifest.json
|
30
|
+
csl,Italian Manuscripts 040,https://iiif.archivelab.org/iiif/images_SutroCollectionItalianManuscripts040_12/manifest.json
|
31
|
+
csl,Italian Manuscripts 031,https://iiif.archivelab.org/iiif/images_SutroCollectionItalianManuscripts031_12/manifest.json
|
32
|
+
csl,Italian Manuscripts 021,https://iiif.archivelab.org/iiif/images_SutroCollectionItalianManuscripts021_12/manifest.json
|
33
|
+
csl,Halliwell Phillips MS 04,https://iiif.archivelab.org/iiif/images_SutroCollectionHalliwellPhillipsMS04_12/manifest.json
|
34
|
+
csl,Halliwell Phillips MS 03,https://iiif.archivelab.org/iiif/images_SutroCollectionHalliwellPhillipsMS03_12/manifest.json
|
35
|
+
csl,Halliwell Phillips MS 02,https://iiif.archivelab.org/iiif/images_SutroCollectionHalliwellPhillipsMS02_12/manifest.json
|
36
|
+
csl,Halliwell Phillips MS 01,https://iiif.archivelab.org/iiif/images_SutroCollectionHalliwellPhillipsMS01_12/manifest.json
|
37
|
+
csl,CSL v096 C3631,https://iiif.archivelab.org/iiif/images_CSLv096C3631_9/manifest.json
|
38
|
+
csl,CSL v091 B29,https://iiif.archivelab.org/iiif/images_CSLv091B29_9/manifest.json
|
39
|
+
conception,CA 43,https://iiif.archivelab.org/iiif/images_CA43_15/manifest.json
|
40
|
+
conception,CA 42,https://iiif.archivelab.org/iiif/images_CA42_15/manifest.json
|
41
|
+
conception,CA 41,https://iiif.archivelab.org/iiif/images_CA41_15/manifest.json
|
42
|
+
conception,CA 40,https://iiif.archivelab.org/iiif/images_CA40_15/manifest.json
|
43
|
+
conception,CA 39,https://iiif.archivelab.org/iiif/images_CA39_15/manifest.json
|
44
|
+
conception,CA 38,https://iiif.archivelab.org/iiif/images_CA38_15/manifest.json
|
45
|
+
conception,CA 37,https://iiif.archivelab.org/iiif/images_CA37_15/manifest.json
|
46
|
+
conception,CA 36,https://iiif.archivelab.org/iiif/images_CA36_15/manifest.json
|
47
|
+
conception,CA 35,https://iiif.archivelab.org/iiif/images_CA35_15/manifest.json
|
48
|
+
conception,CA 34,https://iiif.archivelab.org/iiif/images_CA34_15/manifest.json
|
49
|
+
conception,CA 33,https://iiif.archivelab.org/iiif/images_CA33_15/manifest.json
|
50
|
+
conception,CA 31,https://iiif.archivelab.org/iiif/images_CA31_15/manifest.json
|
51
|
+
conception,CA 30,https://iiif.archivelab.org/iiif/images_CA30_15/manifest.json
|
52
|
+
conception,CA 29,https://iiif.archivelab.org/iiif/images_CA29_15/manifest.json
|
53
|
+
conception,CA 28,https://iiif.archivelab.org/iiif/images_CA28_15/manifest.json
|
54
|
+
conception,CA 26,https://iiif.archivelab.org/iiif/images_CA26_15/manifest.json
|
55
|
+
conception,CA 24,https://iiif.archivelab.org/iiif/images_CA24_15/manifest.json
|
56
|
+
conception,CA 23,https://iiif.archivelab.org/iiif/images_CA23_15/manifest.json
|
57
|
+
conception,CA 22,https://iiif.archivelab.org/iiif/images_CA22_15/manifest.json
|
58
|
+
conception,CA 21,https://iiif.archivelab.org/iiif/images_CA21_15/manifest.json
|
59
|
+
conception,CA 20,https://iiif.archivelab.org/iiif/images_CA20_15/manifest.json
|
60
|
+
conception,CA 19,https://iiif.archivelab.org/iiif/images_CA19_15/manifest.json
|
61
|
+
conception,CA 18,https://iiif.archivelab.org/iiif/images_CA18_15/manifest.json
|
62
|
+
conception,CA 17,https://iiif.archivelab.org/iiif/images_CA17_15/manifest.json
|
63
|
+
conception,CA 16,https://iiif.archivelab.org/iiif/images_CA16_15/manifest.json
|
64
|
+
conception,CA 15,https://iiif.archivelab.org/iiif/images_CA15_15/manifest.json
|
65
|
+
conception,CA 14,https://iiif.archivelab.org/iiif/images_CA14_15/manifest.json
|
66
|
+
conception,CA 13,https://iiif.archivelab.org/iiif/images_CA13_15/manifest.json
|
67
|
+
conception,CA 12,https://iiif.archivelab.org/iiif/images_CA12_15/manifest.json
|
68
|
+
conception,CA 11,https://iiif.archivelab.org/iiif/images_CA11_15/manifest.json
|
69
|
+
conception,CA 10,https://iiif.archivelab.org/iiif/images_CA10_15/manifest.json
|
70
|
+
conception,CA 09,https://iiif.archivelab.org/iiif/images_CA09_15/manifest.json
|
71
|
+
conception,CA 08,https://iiif.archivelab.org/iiif/images_CA08_15/manifest.json
|
72
|
+
conception,CA 07,https://iiif.archivelab.org/iiif/images_CA07_15/manifest.json
|
73
|
+
conception,CA 06,https://iiif.archivelab.org/iiif/images_CA06_15/manifest.json
|
74
|
+
conception,CA 05,https://iiif.archivelab.org/iiif/images_CA05_15/manifest.json
|
75
|
+
conception,CA 04,https://iiif.archivelab.org/iiif/images_CA04_15/manifest.json
|
76
|
+
conception,CA 02,https://iiif.archivelab.org/iiif/images_CA02_15/manifest.json
|
77
|
+
conception,CA 01,https://iiif.archivelab.org/iiif/images_CA01_15/manifest.json
|
data/lib/ds/ds_error.rb
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
class DSError < StandardError; end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module DS
|
4
|
+
module Extractor
|
5
|
+
class BaseRecordLocator
|
6
|
+
|
7
|
+
attr_reader :errors
|
8
|
+
|
9
|
+
def initialize
|
10
|
+
@errors = []
|
11
|
+
end
|
12
|
+
|
13
|
+
def locate_record parsed_source, id, id_location
|
14
|
+
raise NotImplementedError
|
15
|
+
end
|
16
|
+
|
17
|
+
|
18
|
+
def add_error message
|
19
|
+
|
20
|
+
@errors << message
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,79 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module DS
|
4
|
+
module Extractor
|
5
|
+
##
|
6
|
+
# BaseTerm is a composite object for multi-value term sets, like
|
7
|
+
# subjects, names, and titles, that may have complex
|
8
|
+
# representation in source records. For example, names in MARC
|
9
|
+
# records, have as recorded values, but also have roles (like
|
10
|
+
# author, scribe, etc.) and may also have vernacular script
|
11
|
+
# versions.
|
12
|
+
#
|
13
|
+
# The BaseTerm has the +:as_recorded+ attribute, which all term
|
14
|
+
# types must have.
|
15
|
+
#
|
16
|
+
# The BaseTerm also has a '#to_a' method which returns the
|
17
|
+
# +as_recorded+ value:
|
18
|
+
#
|
19
|
+
# term = BaseTerm.new as_recorded: 'Some value'
|
20
|
+
# term.to_a => ['Some value']
|
21
|
+
#
|
22
|
+
# Implementing classes should add other relevant attributes
|
23
|
+
# (+:vernacular+, +:role+, etc.) and implement +#to_a+.
|
24
|
+
#
|
25
|
+
# NB: BaseTerm instances are used by extractors and the +#to_a+
|
26
|
+
# by the ReconBuilder, which assumes values returned are in the
|
27
|
+
# order of the first columns of each corresponding recon CSV. For
|
28
|
+
# example, the languages.csv has these columns:
|
29
|
+
#
|
30
|
+
# language_as_recorded,language_code,authorized_label,structured_value
|
31
|
+
# Arabic,ara,Arabic,Q13955
|
32
|
+
#
|
33
|
+
# The +authorized_label+ and +structured_value+ columns are added
|
34
|
+
# by the ReconBuilder which expects +term.to_a+ an array
|
35
|
+
# containing the first two column values:
|
36
|
+
#
|
37
|
+
# term.to_a # => ['Arabic', 'ara']
|
38
|
+
#
|
39
|
+
# @todo: This might be better handle by a +#to_h+ method with
|
40
|
+
# keys that map to the recon CSV columns. However, for this
|
41
|
+
# to work, the recon CSVs columns would need to be changed
|
42
|
+
# from names like 'language_as_recorded' to 'as_recorded' and
|
43
|
+
# so on. The change would need to made throughout the software
|
44
|
+
# and the change approved by thd DS Project Manager.
|
45
|
+
class BaseTerm
|
46
|
+
attr_accessor :as_recorded
|
47
|
+
|
48
|
+
def initialize as_recorded:
|
49
|
+
@as_recorded = as_recorded
|
50
|
+
end
|
51
|
+
|
52
|
+
def to_a
|
53
|
+
[as_recorded]
|
54
|
+
end
|
55
|
+
|
56
|
+
def to_h
|
57
|
+
{ as_recorded: as_recorded }
|
58
|
+
end
|
59
|
+
|
60
|
+
|
61
|
+
def ==(other)
|
62
|
+
self.class == other.class &&
|
63
|
+
self.to_h == other.to_h
|
64
|
+
end
|
65
|
+
|
66
|
+
##
|
67
|
+
# Override '#eql?' for Set equivalence
|
68
|
+
def eql?(other)
|
69
|
+
self == other
|
70
|
+
end
|
71
|
+
|
72
|
+
##
|
73
|
+
# Override '#hash' for Set equivalence
|
74
|
+
def hash
|
75
|
+
to_h.hash
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|