class EzproxyProviders::IEEE

Public Class Methods

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

  data = {
    "provider" => "springer"
  }

  if (/^\/xpl\/(([a-zA-Z]+)\.jsp)/.match(path))

    if (params.key?('punumber'))
      data['rtype']    = 'TOC'
      data['mime']     = 'HTML'
      data['title_id'] = params['punumber'][0]
      data['unit_id']   = params['punumber'][0]
    elsif (params.key?('arnumber'))
      data['rtype']    = 'ABS'
      data['mime']     = 'HTML'
      data['title_id'] = params['arnumber'][0]
      data['unit_id']   = params['arnumber'][0]
    elsif (params.key?('bkn'))
      data['rtype']    = 'TOC'
      data['mime']     = 'HTML'
      data['title_id'] = params['bkn'][0]
      data['unit_id'] = params['bkn'][0]
    end

  elsif (/^\/xpls\/(([a-z]+)\.jsp)/.match(path))
    data['rtype'] = 'ARTICLE'
    data['mime']  = 'HTML'

    if (params.key?('arnumber'))
      data['title_id'] = params['arnumber'][0]
      data['unit_id']   = params['arnumber'][0]
    end
  
  elsif (/^\/stamp\/(([a-z]+)\.jsp)/.match(path))        
    data['rtype']    = 'ARTICLE'
    data['mime']     = 'PDF'
    if (params.key?('arnumber'))
      data['title_id'] = params['arnumber'][0]
      data['unit_id']   = params['arnumber'][0]
    end

  elsif ((match = /^\/ielx7\/([0-9]+)\/([0-9]+)\/([0-9]+)\.pdf/.match(path)))
    data['rtype']    = 'ARTICLE'
    data['mime']     = 'PDF'
    data['title_id'] = match[2]
    data['unit_id']   = match[3]

  elsif ((match = /^\/stampPDF\/(([a-zA-Z]+)\.jsp)/.match(path)))
    data['rtype']    = 'ARTICLE'
    data['mime']     = 'PDF'
    if (params.key?('arnumber'))
      data['title_id'] = params['arnumber'][0]
      data['unit_id']   = params['arnumber'][0]
    end

  elsif ((match = /^\/courses\/([a-z]+)\/([A-Z0-9]+)\/([a-z]+)\/([a-z]+)/.match(path)))
    data['rtype']    = 'ONLINE_COURSE'
    data['mime']     = 'FLASH'
    data['unit_id']   = match[2]
  elsif ((match = /^\/courses\/([a-z]+)\/([A-Z0-9]+)/.match(path)))
    data['rtype']    = 'ABS'
    data['mime']     = 'MISC'
    data['unit_id']   = match[2]
  end


  return data
end