class EzproxyProviders::Emerald
Public Class Methods
parse(path, params)
click to toggle source
# File lib/logstash/filters/ezproxy_providers/emerald.rb, line 4 def self.parse (path, params) data = { "provider" => "emerald" } if ((match = /^\/series\/([a-z]+)$/.match(path))) data['rtype'] = 'BOOKSERIE' data['mime'] = 'MISC' data['title_id'] = match[1] data['unit_id'] = 'series/' +match[1] elsif ((match = /^\/doi\/([a-z]+)\/([0-9]{2}\.[0-9]{4,5})\/(([A-Z]{1})([0-9]+)([-])([0-9]+)[(]([0-9]{4})[)]([0-9]+))$/.match(path))) if (match[1] === 'abs') data['rtype'] = 'ABS' data['mime'] = 'MISC' elsif (match[1] === 'book') data['rtype'] = 'BOOKSERIE' data['mime'] = 'MISC' elsif (match[1] === 'full') data['mime'] = 'HTML' data['rtype'] = 'ARTICLE' elsif (match[1] === 'pdfplus') data['mime'] = 'PDFPLUS' data['rtype'] = 'ARTICLE' else data['rtype'] = 'ARTICLE' data['mime'] = 'MISC' end data['publication_date']= match[8] data['title_id'] = match[5] +match[6] +match[7] data['unit_id'] =data['doi'] = match[2] + '/' + match[3] elsif ((match = /^\/loi\/([a-z]+)$/.match(path))) data['mime'] = 'MISC' data['title_id'] = match[1] data['unit_id'] = 'loi/' + match[1] elsif ((match = /^\/toc\/([a-z]+)\/([0-9]+)\/([0-9]+)/.match(path))) data['rtype'] = 'TOC' data['mime'] = 'MISC' data['title_id'] = match[1] data['unit_id'] = match[1] + '/' + match[2] + '/'+ match[3] elsif ((match = /^\/doi\/([a-z]+)\/([0-9]{2}\.[0-9]{4,5})\/(([A-Z]+)([-])([0-9]+)([-])([0-9]+)([-])([0-9]+))$/.match(path))) if (match[1] === 'abs') data['rtype'] = 'ABS' data['mime'] = 'MISC' elsif (match[1] === 'full') data['mime'] = 'HTML' data['rtype'] = 'ARTICLE' elsif (match[1] === 'pdfplus') data['mime'] = 'PDFPLUS' data['rtype'] = 'ARTICLE' else data['rtype'] = 'ARTICLE' end data['title_id'] = match[4] data['unit_id'] = data['doi'] = match[2] + '/' + match[3] elsif ((match = /^\/doi\/([a-z]+)\/([0-9]{2}\.[0-9]{4,5})\/([0-9]+)$/.match(path))) if (match[1] === 'abs') data['rtype'] = 'ABS' data['mime'] = 'MISC' elsif (match[1] === 'full') data['mime'] = 'HTML' data['rtype'] = 'ARTICLE' elsif (match[1] === 'pdfplus') data['mime'] = 'PDFPLUS' data['rtype'] = 'ARTICLE' else data['rtype'] = 'ARTICLE' end data['title_id'] = match[3] data['unit_id'] =data['doi'] = match[2] + '/' + match[3] end return data; end