umlaut 3.0.2 → 3.0.3
Sign up to get free protection for your applications and to get access to all the features.
- data/app/models/referent.rb +3 -1
- data/lib/service_adaptors/blacklight.rb +1 -1
- data/lib/service_adaptors/sfx.rb +12 -3
- data/lib/umlaut/version.rb +1 -1
- metadata +4 -4
data/app/models/referent.rb
CHANGED
@@ -51,7 +51,9 @@ class Referent < ActiveRecord::Base
|
|
51
51
|
# Apply referent filters
|
52
52
|
rfr_id = ""
|
53
53
|
rfr_id = co.referrer.identifier if (co.referrer && ! co.referrer.identifier.blank?)
|
54
|
-
UmlautController.umlaut_config.lookup!("referent_filters", []).each do |
|
54
|
+
UmlautController.umlaut_config.lookup!("referent_filters", []).each do |filter_config|
|
55
|
+
regexp = filter_config[:match]
|
56
|
+
filter = filter_config[:filter]
|
55
57
|
if (regexp =~ rfr_id)
|
56
58
|
filter.filter(rft) if filter.respond_to?(:filter)
|
57
59
|
end
|
@@ -93,7 +93,7 @@ class Blacklight < Service
|
|
93
93
|
#keyword search.
|
94
94
|
if (@keyword_search &&
|
95
95
|
url = blacklight_keyword_search_url(request))
|
96
|
-
|
96
|
+
|
97
97
|
doc = Nokogiri::XML( http_fetch(url).body )
|
98
98
|
# filter out matches whose titles don't really match at all, or
|
99
99
|
# which have already been seen in identifier search.
|
data/lib/service_adaptors/sfx.rb
CHANGED
@@ -323,8 +323,11 @@ class Sfx < Service
|
|
323
323
|
# Sfx metadata we want
|
324
324
|
response_data[:sfx_base_url] = @base_url
|
325
325
|
response_data[:sfx_obj_index] = sfx_obj_index + 1 # sfx is 1 indexed
|
326
|
-
response_data[:sfx_target_index] = target_index + 1
|
327
|
-
|
326
|
+
response_data[:sfx_target_index] = target_index + 1
|
327
|
+
# sometimes the sfx.request_id is missing, go figure.
|
328
|
+
if request_id = (perl_data/"//hash/item[@key='sfx.request_id']").first
|
329
|
+
response_data[:sfx_request_id] = request_id.inner_text
|
330
|
+
end
|
328
331
|
response_data[:sfx_target_service_id] = target_service_id
|
329
332
|
response_data[:sfx_target_name] = sfx_target_name
|
330
333
|
# At url-generation time, the request isn't available to us anymore,
|
@@ -453,6 +456,12 @@ class Sfx < Service
|
|
453
456
|
key = item['key'].to_s
|
454
457
|
|
455
458
|
value = item.inner_text
|
459
|
+
|
460
|
+
# SFX sometimes returns invalid UTF8 (is it really ISO 8859? Is it
|
461
|
+
# predictable? Who knows. If it's not valid, it'll cause all
|
462
|
+
# sorts of problems later. So if it's not valid, we're just
|
463
|
+
# going to ignore it, sorry.
|
464
|
+
next unless value.valid_encoding?
|
456
465
|
|
457
466
|
# Some normalization. SFX uses rft.year, which is not actually
|
458
467
|
# legal. Stick it in rft.date instead.
|
@@ -482,7 +491,7 @@ class Sfx < Service
|
|
482
491
|
# But this still has HTML entities in it sometimes. Now we've
|
483
492
|
# got to decode THAT.
|
484
493
|
# TODO: Are we sure we need to do this? We need an example
|
485
|
-
# from SFX result to test, it's potentially expensive.
|
494
|
+
# from SFX result to test, it's potentially expensive.
|
486
495
|
value = html_ent_coder.decode(value)
|
487
496
|
|
488
497
|
# object_type? Fix that to be the right way.
|
data/lib/umlaut/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: umlaut
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.
|
4
|
+
version: 3.0.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-08-21 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
@@ -575,7 +575,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
575
575
|
version: '0'
|
576
576
|
segments:
|
577
577
|
- 0
|
578
|
-
hash:
|
578
|
+
hash: -1929703717396747492
|
579
579
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
580
580
|
none: false
|
581
581
|
requirements:
|
@@ -584,7 +584,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
584
584
|
version: '0'
|
585
585
|
segments:
|
586
586
|
- 0
|
587
|
-
hash:
|
587
|
+
hash: -1929703717396747492
|
588
588
|
requirements: []
|
589
589
|
rubyforge_project:
|
590
590
|
rubygems_version: 1.8.24
|