class EzproxyProviders::HeinOnline

Public Class Methods

parse(path, params) click to toggle source
# File lib/logstash/filters/ezproxy_providers/heinonline.rb, line 4
def self.parse (path, params)

  data = {
      "provider" => "heinonline"
  }

  if (/^\/HOL\/(P.*)/.match(path))
    data['rtype']    = 'ARTICLE'
    data['mime']     = 'PDF'
    if (params.key?('handle'))
      data['title_id'] = params['handle'][0].split('/')[1]
      data['unit_id'] = params['handle'][0] +'/'+ (params['id'][0] || "")
      if (params.key?('number_of_pages'))
        data['unit_id'] += '/'+ params['number_of_pages'][0]
      end
    end
    
  
  elsif (/^\/HOL\/Index/.match(path))
    data['rtype']    = 'TOC'
    data['mime']     = 'HTML'
    if (params.key?('index'))
      data['title_id'] = params['index'][0].split('/')[1]
      data['unit_id'] = params['index'][0]
    end
  
  elsif (/^\/HOL\/.*/.match(path))
    data['rtype']    = 'TOC'
    data['mime']     = 'HTML'
    if (params.key?('handle'))
      data['title_id'] = params['handle'][0].split('/')[1]
      data['unit_id'] = params['handle'][0] +'/'+ (params['id'][0] || "")
      if (params.key?('number_of_pages'))
        data['unit_id'] += '/'+ params['number_of_pages'][0]
      end
    end
  end
  
  return data

end