Skip to content

Commit

Permalink
Merge pull request #843 from OCLC-Developer-Network/airlib
Browse files Browse the repository at this point in the history
develop parser airlib
  • Loading branch information
felixleo22 authored Aug 19, 2024
2 parents 030ad1d + b2b126d commit 0ef06ff
Show file tree
Hide file tree
Showing 3 changed files with 76 additions and 0 deletions.
13 changes: 13 additions & 0 deletions airlib/manifest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"longname": "Airiti Library",
"name": "airlib",
"describe": "Recognizes the accesses to the platform Airiti Library",
"contact": "Sean Duffy, Violita Kovchegov",
"pkb": false,
"docurl": "http://analyses.ezpaarse.org/platforms/650c8e6d3ec8e615baad5c97",
"domains": [
"www.airitilibrary.com"
],
"version": "2024-08-12",
"status": "beta"
}
56 changes: 56 additions & 0 deletions airlib/parser.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
#!/usr/bin/env node

'use strict';
const Parser = require('../.lib/parser.js');

/**
* Recognizes the accesses to the platform Airiti Library
* @param {Object} parsedUrl an object representing the URL to analyze
* main attributes: pathname, query, hostname
* @param {Object} ec an object representing the EC whose URL is being analyzed
* @return {Object} the result
*/
module.exports = new Parser(function analyseEC(parsedUrl, ec) {
let result = {};
let path = parsedUrl.pathname;
// uncomment this line if you need parameters
let param = parsedUrl.query || {};

// use console.error for debuging
// console.error(parsedUrl);

// let match;

if (/^\/Article\/Detail$/i.test(path) && param.DocID !== undefined) {
// https://www.airitilibrary.com/Article/Detail?DocID=10131671-N202406080006-00001
// https://www.airitilibrary.com/Article/Detail?DocID=02541319-200312-41-4-165-172-a
result.rtype = 'ARTICLE';
result.mime = 'HTML';
result.unitid = param.DocID;

} else if (/^\/Publication\/alDetailedMesh$/i.test(path) && param.DocID !== undefined && param.PublishTypeID !== undefined) {
// https://www.airitilibrary.com/Publication/alDetailedMesh?DocID=P20140627004-N202306030013-00001&PublishTypeID=P001
result.rtype = 'ABS';
result.mime = 'HTML';
let str = param.DocID.split('-');
result.issue = str[1];
result.title_id = str[0];
result.unitid = param.DocID;

} else if (/^\/Publication\/alPublicationJournal$/i.test(path) && param.PublicationID !== undefined) {
// https://www.airitilibrary.com/Publication/alPublicationJournal?PublicationID=P20140627004&IssueID=N202306030013
// https://www.airitilibrary.com/Publication/alPublicationJournal?PublicationID=P20140627004
result.rtype = 'TOC';
result.mime = 'HTML';
result.title_id = param.PublicationID;
result.unitid = param.IssueID?param.IssueID:param.PublicationID;

} else if (/^\/Search\/ArticleSearch$/i.test(path)) {
// https://www.airitilibrary.com/Search/ArticleSearch?ArticlesViewModel_SearchField=special+issue&ArticlesViewModel_TitleKeywordsAbstract=&ArticlesViewModel_FulltextSearchField=&ArticlesViewModel_Author=&ArticlesViewModel_JournalBookDepartment=&ArticlesViewModel_DOI=&ArticlesViewModel_ArticleArea_Taiwan=false&ArticlesViewModel_ArticleArea_ChinaHongKongMacao=false&ArticlesViewModel_ArticleArea_American=false&ArticlesViewModel_ArticleArea_Other=false&PublicationsViewModel_SearchField=&PublicationsViewModel_PublicationName=&PublicationsViewModel_ISSN=&PublicationsViewModel_PublicationUnitName=&PublicationsViewModel_DOI=&PublicationsViewModel_PublicationArea_Taiwan=false&PublicationsViewModel_PublicationArea_ChinaHongKongMacao=false&PublicationsViewModel_PublicationArea_American=false&PublicationsViewModel_PublicationArea_Other=false
result.rtype = 'SEARCH';
result.mime = 'HTML';

}

return result;
});
7 changes: 7 additions & 0 deletions airlib/test/airlib.2024-08-12.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
out-issue;out-title_id;out-unitid;out-rtype;out-mime;in-url
;;;SEARCH;HTML;https://www.airitilibrary.com/Search/ArticleSearch?ArticlesViewModel_SearchField=special+issue&ArticlesViewModel_TitleKeywordsAbstract=&ArticlesViewModel_FulltextSearchField=&ArticlesViewModel_Author=&ArticlesViewModel_JournalBookDepartment=&ArticlesViewModel_DOI=&ArticlesViewModel_ArticleArea_Taiwan=false&ArticlesViewModel_ArticleArea_ChinaHongKongMacao=false&ArticlesViewModel_ArticleArea_American=false&ArticlesViewModel_ArticleArea_Other=false&PublicationsViewModel_SearchField=&PublicationsViewModel_PublicationName=&PublicationsViewModel_ISSN=&PublicationsViewModel_PublicationUnitName=&PublicationsViewModel_DOI=&PublicationsViewModel_PublicationArea_Taiwan=false&PublicationsViewModel_PublicationArea_ChinaHongKongMacao=false&PublicationsViewModel_PublicationArea_American=false&PublicationsViewModel_PublicationArea_Other=false
;P20140627004;P20140627004;TOC;HTML;https://www.airitilibrary.com/Publication/alPublicationJournal?PublicationID=P20140627004
;P20140627004;N202306030013;TOC;HTML;https://www.airitilibrary.com/Publication/alPublicationJournal?PublicationID=P20140627004&IssueID=N202306030013
N202306030013;P20140627004;P20140627004-N202306030013-00001;ABS;HTML;https://www.airitilibrary.com/Publication/alDetailedMesh?DocID=P20140627004-N202306030013-00001&PublishTypeID=P001
;;02541319-200312-41-4-165-172-a;ARTICLE;HTML;https://www.airitilibrary.com/Article/Detail?DocID=02541319-200312-41-4-165-172-a
;;10131671-N202406080006-00001;ARTICLE;HTML;https://www.airitilibrary.com/Article/Detail?DocID=10131671-N202406080006-00001

0 comments on commit 0ef06ff

Please sign in to comment.