dor-services 6.7.0 → 6.8.0

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: 49efa35d39eee0748121dad21f44e871d6ea38eff28dc1719f7d13061eaab269
4
- data.tar.gz: d1e0418a853a958966e7247e9c2ca0ceaf0739784ee3da2e3a0ab1a4f8a2f67d
3
+ metadata.gz: 85d61e2ff2890b4d25489c7dd7ecdd696d29b6dc1fc71939045cdb5ce801d914
4
+ data.tar.gz: 27b4b9d65371523af32aa306670d783e8da0abc9f04e44d3a001ad99ba2b7f6f
5
5
  SHA512:
6
- metadata.gz: 37ac6a9d98625fb2272a5e541d6cf99d4b3f6d7e615c000b22aa6c51b49ed917b912a30f77c293da356107f2418fa60d5c70a5a3b84f31bb52fa149b13f3601d
7
- data.tar.gz: 2401c8bfef4aa070e5672227e67c53a29dee353dbe58fa73922f4a3409d1b23f0ad8baf9d5e30fa4c4e0d87062e0c38d37fbc0ac74cf31fd740d6d33fba84fea
6
+ metadata.gz: f44b068a8964f6873fd493d3ef274cc98dd8faa9ba619ade56197892d3783a82ab83a9dae62edfd3cc5c7ef6c183f37ae8ed012ad2544941d31e51498d7e260d
7
+ data.tar.gz: cf2d94e214f0d002d64d01003cb52e8952167fa310c641f3809a4bcc8dd7235924d6461ca7cb42644b8c7e12c5f95a36c215ba69e1839f6703d555692e0ba9df
data/lib/dor-services.rb CHANGED
@@ -22,16 +22,16 @@ module Dor
22
22
  # index is missing the objectType property.
23
23
  # @param [String] pid The object's PID
24
24
  def load_instance(pid)
25
- Dor::Abstract.find pid, cast: true
25
+ Deprecation.warn(self, 'load_instance is deprecated, use Dor.find instead')
26
+ find(pid)
26
27
  end
27
28
 
28
- # Get objectType information from solr and load the correct class the first time,
29
- # saving the overhead of using ActiveFedora::Base#adapt_to. It falls back to
30
- # Dor.load_instance() if the item is not in the index, or is improperly indexed.
29
+ # Load an object and inspect its identityMetadata to figure out what class
30
+ # to adapt it to.
31
31
  # @param [String] pid The object's PID
32
32
  # @return [Object] the ActiveFedora-modeled object
33
33
  def find(pid, _opts = {})
34
- load_instance(pid)
34
+ Dor::Abstract.find pid, cast: true
35
35
  end
36
36
 
37
37
  # TODO: return enumerable and lazy load_instance
@@ -4,6 +4,8 @@ require 'benchmark'
4
4
 
5
5
  module Dor
6
6
  class IndexingService
7
+ extend Deprecation
8
+
7
9
  class ReindexError < RuntimeError; end
8
10
 
9
11
  ##
@@ -11,6 +13,7 @@ module Dor
11
13
  # @yield attempt to execute 'entry_id_block' and use the result as an extra identifier for the log
12
14
  # entry. a placeholder will be used otherwise. 'request.uuid' might be useful in a Rails app.
13
15
  def self.generate_index_logger(&entry_id_block)
16
+ Deprecation.warn(self, 'generate_index_logger is deprecated and will be removed in dor-services version 7')
14
17
  index_logger = Logger.new(Config.indexing_svc.log, Config.indexing_svc.log_rotation_interval)
15
18
  index_logger.formatter = proc do |_severity, datetime, _progname, msg|
16
19
  date_format_str = Config.indexing_svc.log_date_format_str
@@ -28,11 +31,13 @@ module Dor
28
31
  @@loggers = { default: nil }
29
32
 
30
33
  def self.default_index_logger
34
+ Deprecation.warn(self, 'default_index_logger is deprecated and will be removed in dor-services version 7')
31
35
  @@loggers[:default] ||= generate_index_logger
32
36
  end
33
37
 
34
38
  # takes a Dor object and indexes it to solr. doesn't commit automatically.
35
39
  def self.reindex_object(obj, options = {})
40
+ Deprecation.warn(self, 'reindex_pid is deprecated and will be removed in dor-services 7.')
36
41
  solr_doc = obj.to_solr
37
42
  Dor::SearchService.solr.add(solr_doc, options)
38
43
  solr_doc
@@ -42,6 +47,8 @@ module Dor
42
47
  # @param [String] pid the druid
43
48
  # @raise [ReindexError] on failure
44
49
  def self.reindex_pid_remotely(pid)
50
+ Deprecation.warn(self, 'reindex_pid_remotely is deprecated and will be removed in dor-services 7.')
51
+
45
52
  pid = "druid:#{pid}" unless pid =~ /^druid:/
46
53
  realtime = Benchmark.realtime do
47
54
  with_retries(max_tries: 3, rescue: [RestClient::Exception, Errno::ECONNREFUSED]) do
@@ -72,6 +79,7 @@ module Dor
72
79
  # @overload reindex_pid(pid, index_logger, should_raise_errors, options = {})
73
80
  # @overload reindex_pid(pid, options = {})
74
81
  def self.reindex_pid(pid, *args)
82
+ Deprecation.warn(self, 'reindex_pid is deprecated and will be removed in dor-services 7.')
75
83
  options = {}
76
84
  options = args.pop if args.last.is_a? Hash
77
85
 
@@ -89,8 +97,8 @@ module Dor
89
97
  solr_doc = nil
90
98
 
91
99
  # benchmark how long it takes to load the object
92
- load_stats = Benchmark.measure('load_instance') do
93
- obj = Dor.load_instance pid
100
+ load_stats = Benchmark.measure('find') do
101
+ obj = Dor.find pid
94
102
  end.format('%n realtime %rs total CPU %ts').gsub(/[\(\)]/, '')
95
103
 
96
104
  # benchmark how long it takes to convert the object to a Solr document
@@ -115,6 +123,7 @@ module Dor
115
123
 
116
124
  # given a list of pids, retrieve those objects from fedora, index each to solr, optionally commit
117
125
  def self.reindex_pid_list(pid_list, should_commit = false)
126
+ Deprecation.warn(self, 'reindex_pid_list is deprecated and will be removed in dor-services 7')
118
127
  pid_list.each { |pid| reindex_pid pid, raise_errors: false } # use the default logger, don't let individual errors nuke the rest of the batch
119
128
  ActiveFedora.solr.conn.commit if should_commit
120
129
  end
@@ -2,24 +2,26 @@
2
2
 
3
3
  require 'rest-client'
4
4
 
5
- class CatalogHandler
6
- def fetch(prefix, identifier)
7
- client = RestClient::Resource.new(Dor::Config.metadata.catalog.url,
8
- Dor::Config.metadata.catalog.user,
9
- Dor::Config.metadata.catalog.pass)
10
- params = "?#{prefix.chomp}=#{identifier.chomp}"
11
- client[params].get
12
- rescue RestClient::Exception => e
13
- raise BadResponseFromCatalog, "#{e.class} - when contacting (with BasicAuth hidden): #{Dor::Config.metadata.catalog.url}#{params}"
14
- end
5
+ module Dor
6
+ class CatalogHandler
7
+ def fetch(prefix, identifier)
8
+ client = RestClient::Resource.new(Dor::Config.metadata.catalog.url,
9
+ Dor::Config.metadata.catalog.user,
10
+ Dor::Config.metadata.catalog.pass)
11
+ params = "?#{prefix.chomp}=#{identifier.chomp}"
12
+ client[params].get
13
+ rescue RestClient::Exception => e
14
+ raise BadResponseFromCatalog, "#{e.class} - when contacting (with BasicAuth hidden): #{Dor::Config.metadata.catalog.url}#{params}"
15
+ end
15
16
 
16
- def label(metadata)
17
- mods = Nokogiri::XML(metadata)
18
- mods.root.add_namespace_definition('mods', 'http://www.loc.gov/mods/v3')
19
- mods.xpath('/mods:mods/mods:titleInfo[1]').xpath('mods:title|mods:nonSort').collect(&:text).join(' ').strip
20
- end
17
+ def label(metadata)
18
+ mods = Nokogiri::XML(metadata)
19
+ mods.root.add_namespace_definition('mods', 'http://www.loc.gov/mods/v3')
20
+ mods.xpath('/mods:mods/mods:titleInfo[1]').xpath('mods:title|mods:nonSort').collect(&:text).join(' ').strip
21
+ end
21
22
 
22
- def prefixes
23
- %w(catkey barcode)
23
+ def prefixes
24
+ %w(catkey barcode)
25
+ end
24
26
  end
25
27
  end
@@ -5,6 +5,7 @@ require 'active_support/core_ext'
5
5
 
6
6
  module Dor
7
7
  class SearchService
8
+ extend Deprecation
8
9
  RISEARCH_TEMPLATE = "select $object from <#ri> where $object <dc:identifier> '%s'"
9
10
  @@index_version = nil
10
11
 
@@ -13,7 +14,9 @@ module Dor
13
14
  Dor::VERSION
14
15
  end
15
16
 
17
+ # @deprecated because this depends on Fedora 3 having sparql turned on
16
18
  def risearch(query, opts = {})
19
+ Deprecation.warn(self, 'risearch is deprecated and will be removed in dor-services 7')
17
20
  client = Config.fedora.client['risearch']
18
21
  client.options[:timeout] = opts.delete(:timeout)
19
22
  query_params = {
@@ -28,7 +31,9 @@ module Dor
28
31
  result.split(/\n/)[1..-1].collect { |pid| pid.chomp.sub(/^info:fedora\//, '') }
29
32
  end
30
33
 
34
+ # @deprecated because this depends on Fedora 3 having sparql turned on
31
35
  def iterate_over_pids(opts = {})
36
+ Deprecation.warn(self, 'iterate_over_pids is deprecated and will be removed in dor-services 7')
32
37
  opts[:query] ||= 'select $object from <#ri> where $object <info:fedora/fedora-system:def/model#label> $label'
33
38
  opts[:in_groups_of] ||= 100
34
39
  opts[:mode] ||= :single
data/lib/dor/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Dor
4
- VERSION = '6.7.0'
4
+ VERSION = '6.8.0'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dor-services
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.7.0
4
+ version: 6.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Klein
@@ -14,7 +14,7 @@ authors:
14
14
  autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
- date: 2019-04-03 00:00:00.000000000 Z
17
+ date: 2019-04-11 00:00:00.000000000 Z
18
18
  dependencies:
19
19
  - !ruby/object:Gem::Dependency
20
20
  name: active-fedora