lib/libis/services/primo/limo.rb in libis-services-0.1.3 vs lib/libis/services/primo/limo.rb in libis-services-0.1.5

- old
+ new

@@ -13,20 +13,28 @@ def initialize(url = 'http://limo.libis.be') configure(url) end def get_marc(alma_id) - get 'primo_library/libweb/jqprimo/helpers/record_helper.jsp', id: "#{alma_id}.xml" + result = get "primo_library/libweb/jqp/record/#{alma_id}.xml" + return result if result.is_a?(Libis::Tools::XmlDocument) + + raise Libis::Services::ServiceError, "#{result[:error_type]} - #{result[:error_name]}" if result[:error_type] + raise Libis::Services::ServiceError, "Unexpected reply: '#{result.to_s}' (#{result.class})" end def get_pnx(alma_id) - get 'primo_library/libweb/jqprimo/helpers/record_helper.jsp', id: "#{alma_id}.pnx" + result = get "primo_library/libweb/jqp/record/#{alma_id}.pnx" + return result if result.is_a?(Libis::Tools::XmlDocument) + + raise Libis::Services::ServiceError, "#{result[:error_type]} - #{result[:error_name]}" if result[:error_type] + raise Libis::Services::ServiceError, "Unexpected reply: '#{result.to_s}' (#{result.class})" end protected def result_parser(response) - Libis::Tools::XmlDocument.parse(response) + Libis::Tools::XmlDocument.parse(response) rescue response end end end end end