qa 4.2.3 → 4.2.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/qa/authorities/discogs/discogs_translation.rb +5 -6
- data/lib/qa/authorities/discogs/generic_authority.rb +8 -3
- data/lib/qa/version.rb +1 -1
- data/spec/fixtures/discogs-find-response-json.json +1 -1
- data/spec/lib/authorities/discogs/generic_authority_spec.rb +2 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 01ad19bed0c7676d2a803cdf50f3edb8f3786f88
|
4
|
+
data.tar.gz: 30f46f8326eabb8fc00e3e27dadd0f2d2c72d8fa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3ea728ae633c1a0f504f3d76ac7eb0bd1c353f35a2fdb174d3dcfa42a8798c5c18af88f1bef2d0224fe13b7b583a285f350e13ae78377d09b73b83c40c0505fc
|
7
|
+
data.tar.gz: e11d1a74bc87fc1d93b1c5a543ac10a928f3d8c562762b0ecd1e801851f14e26190d69ea532d67d760631c02c120e5970f90ff901595392a4b69c3ebadddc352
|
@@ -30,17 +30,16 @@ module Qa::Authorities
|
|
30
30
|
# all we need is a work and not an instance. If there's no subauthority, we can determine
|
31
31
|
# if the discogs record is a master because it will have a main_release field.
|
32
32
|
if master_only(response, subauthority)
|
33
|
-
self.work_uri = response["uri"]
|
33
|
+
self.work_uri = response["uri"].present? ? response["uri"] : response["resource_url"]
|
34
34
|
complete_rdf_stmts.concat(build_master_statements(response))
|
35
35
|
else
|
36
|
-
# If the subauthority is
|
36
|
+
# If the subauthority is "release," we need to define an instance as well as a
|
37
37
|
# work. If the discogs record has a master_id, fetch that and use the results to
|
38
38
|
# build the statements for the work.
|
39
39
|
master_resp = response["master_id"].present? ? json("https://api.discogs.com/masters/#{response['master_id']}") : response
|
40
|
-
self.work_uri = master_resp["uri"] if master_resp["uri"].present? && master_resp["uri"].include?("master")
|
41
40
|
complete_rdf_stmts.concat(build_master_statements(master_resp))
|
42
|
-
# Now do the statements for the instance.
|
43
|
-
self.instance_uri = response["uri"]
|
41
|
+
# Now do the statements for the release/instance.
|
42
|
+
self.instance_uri = response["uri"].present? ? response["uri"] : response["resource_url"]
|
44
43
|
complete_rdf_stmts.concat(build_instance_statements(response))
|
45
44
|
end
|
46
45
|
end
|
@@ -93,7 +92,7 @@ module Qa::Authorities
|
|
93
92
|
# @return [Array] rdf statements
|
94
93
|
def get_primary_instance_definition(response)
|
95
94
|
stmts = []
|
96
|
-
stmts << contruct_stmt_uri_object(
|
95
|
+
stmts << contruct_stmt_uri_object(instance_uri, "http://id.loc.gov/ontologies/bibframe/instanceOf", work_uri)
|
97
96
|
stmts << contruct_stmt_uri_object(instance_uri, rdf_type_predicate, "http://id.loc.gov/ontologies/bibframe/Instance")
|
98
97
|
stmts << contruct_stmt_uri_object(instance_uri, "http://id.loc.gov/ontologies/bibframe/title", "titlen2")
|
99
98
|
stmts << contruct_stmt_literal_object("titlen2", bf_main_title_predicate, response["title"])
|
@@ -12,8 +12,8 @@ module Qa::Authorities
|
|
12
12
|
def initialize(subauthority)
|
13
13
|
@subauthority = subauthority
|
14
14
|
self.primary_artists = []
|
15
|
-
self.work_uri = "
|
16
|
-
self.instance_uri = "
|
15
|
+
self.work_uri = "workn1"
|
16
|
+
self.instance_uri = "instn1"
|
17
17
|
end
|
18
18
|
|
19
19
|
# @param [String] the query
|
@@ -127,13 +127,18 @@ module Qa::Authorities
|
|
127
127
|
# }
|
128
128
|
def parse_authority_response(response)
|
129
129
|
response['results'].map do |result|
|
130
|
-
{ 'uri' => result
|
130
|
+
{ 'uri' => build_uri(result),
|
131
131
|
'id' => result['id'].to_s,
|
132
132
|
'label' => result['title'].to_s,
|
133
133
|
'context' => assemble_search_context(result) }
|
134
134
|
end
|
135
135
|
end
|
136
136
|
|
137
|
+
# @param [Hash] the results hash from the JSON returned by Discogs
|
138
|
+
def build_uri(result)
|
139
|
+
result['uri'].present? ? "https://www.discogs.com" + result['uri'].to_s : result['resource_url'].to_s
|
140
|
+
end
|
141
|
+
|
137
142
|
# @param [Hash] the results hash from the JSON returned by Discogs
|
138
143
|
def assemble_search_context(result)
|
139
144
|
{ "Image URL" => get_context_for_string(result['cover_image']),
|
data/lib/qa/version.rb
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"status":"Accepted","series":[],"labels":[{"name":"Blue Note"}],"year":1962,"artists":[{"name":"Dexter Gordon"}],"id":3380671,"genres":["Jazz"],"title":"A Swingin' Affair","styles":["Hard Bop"],"formats":[{"qty":"1","descriptions":["LP","Album","Mono"],"name":"Vinyl"}]}
|
1
|
+
{"status":"Accepted","series":[],"labels":[{"name":"Blue Note"}],"year":1962,"artists":[{"name":"Dexter Gordon"}],"id":3380671,"genres":["Jazz"],"title":"A Swingin' Affair","styles":["Hard Bop"],"formats":[{"qty":"1","descriptions":["LP","Album","Mono"],"name":"Vinyl"}],"uri":"https://www.discogs.com/Dexter-Gordon-A-Swingin-Affair/release/3380671","resource_url":"https://api.discogs.com/releases/3380671"}
|
@@ -273,7 +273,7 @@ describe Qa::Authorities::Discogs::GenericAuthority do
|
|
273
273
|
end
|
274
274
|
|
275
275
|
it "has id and label keys" do
|
276
|
-
expect(results.first["uri"]).to eq("https://
|
276
|
+
expect(results.first["uri"]).to eq("https://www.discogs.com/Melody-Gardot-Who-Will-Comfort-Me-Over-The-Rainbow/release/1750352")
|
277
277
|
expect(results.first["id"]).to eq "1750352"
|
278
278
|
expect(results.first["label"]).to eq "Melody Gardot - Who Will Comfort Me / Over The Rainbow"
|
279
279
|
expect(results.first["context"]["Year"]).to eq ['2009']
|
@@ -296,7 +296,7 @@ describe Qa::Authorities::Discogs::GenericAuthority do
|
|
296
296
|
end
|
297
297
|
|
298
298
|
it "has id and label keys" do
|
299
|
-
expect(results.first['uri']).to eq "https://
|
299
|
+
expect(results.first['uri']).to eq "https://www.discogs.com/Wes-Montgomery-Bumpin-On-Sunset-Tequila/master/606116"
|
300
300
|
expect(results.first['id']).to eq "606116"
|
301
301
|
expect(results.first['label']).to eq "Wes Montgomery - Bumpin' On Sunset / Tequila"
|
302
302
|
expect(results.first['context']["Year"]).to eq ['1966']
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: qa
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.2.
|
4
|
+
version: 4.2.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stephen Anderson
|
@@ -16,7 +16,7 @@ authors:
|
|
16
16
|
autorequire:
|
17
17
|
bindir: bin
|
18
18
|
cert_chain: []
|
19
|
-
date: 2019-10-
|
19
|
+
date: 2019-10-17 00:00:00.000000000 Z
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
22
22
|
name: activerecord-import
|