class EzproxyProviders::FT

Public Class Methods

parse(path, params) click to toggle source
# File lib/logstash/filters/ezproxy_providers/ft.rb, line 4
def self.parse (path, params)
  
  data = {
    "provider" => "ft"
  }

  if ((match = /^\/cms\/([a-z]+)\/([0-9]+)\/([0-9a-z-]+).html$/i.match(path)))
    data['rtype']    = 'ARTICLE'
    data['mime']     = 'HTML'
    data['unit_id'] = match[3]

  elsif ((match = /^\/([0-9]+)\/([a-z-]+)\/([a-z-]+)$/i.match(path)))
    data['rtype']    = 'VIDEO'
    data['mime']     = 'MISC'
    data['title_id'] = match[1]
    data['unit_id']   = match[2]

  elsif ((match = /^\/([0-9]{4})\/([0-9]{2})\/([0-9]{2})\/([0-9]+)\/([a-z-]+)\/?$/i.match(path)))
    data['rtype']    = 'ARTICLE'
    data['mime']     = 'HTML'
    data['title_id'] = match[4]
    data['unit_id']   = match[5]
    data['publication_date'] = match[1]

  elsif ((match = /^\/Olive\/([A-Z]+)\/([a-zA-Z]+)\/?$/i.match(path)))
    data['rtype']    = 'ARTICLE'
    data['mime']     = 'HTML'

  elsif ((match = /^\/data\/([a-z]+)\/dashboard$/i.match(path)))
    data['rtype']    = 'TOOL'
    data['mime']     = 'HTML'

  elsif ((match = /^\/reports\/([a-z-]+)$/i.match(path)))
    data['rtype']    = 'REPORT'
    data['mime']     = 'HTML'
    data['unit_id']   = match[1]

  elsif ((match = /^\/content\/([a-z]+)\/([0-9a-z-]+).pdf$/i.match(path)))
    data['rtype']    = 'REPORT'
    data['mime']     = 'PDF'
    data['unit_id']   = match[2]

  elsif ((match = /^\/businessschoolrankings\/([a-z-]+)\/(([a-z-]+)([0-9]+))$/i.match(path)))
    data['rtype']    = 'TOOL'
    data['mime']     = 'HTML'
    data['unit_id']   = match[2]
    data['publication_date'] = match[4]

  end

  return data;

end