Skip to content

Commit

Permalink
Merge pull request ezpaarse-project#818 from OCLC-Developer-Network/d…
Browse files Browse the repository at this point in the history
…imensions

develop parser dimensions
  • Loading branch information
felixleo22 authored Apr 22, 2024
2 parents 303e1c8 + 846e51f commit dd12935
Show file tree
Hide file tree
Showing 3 changed files with 119 additions and 0 deletions.
15 changes: 15 additions & 0 deletions dimensions/manifest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"longname": "Dimensions",
"name": "dimensions",
"describe": "Recognizes the accesses to the platform Dimensions",
"contact": "Violita Kovchegov",
"pkb": false,
"docurl": "http://analyses.ezpaarse.org/platforms/661934cda4bc76f0dee1419f",
"domains": [
"app.dimensions.ai",
"app-dimensions-ai.zulib.idm.oclc.org",
"app-dimensions-ai"
],
"version": "2024-04-22",
"status": "beta"
}
79 changes: 79 additions & 0 deletions dimensions/parser.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
#!/usr/bin/env node

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

/**
* Recognizes the accesses to the platform Dimensions
* @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 ((match = /^\/details\/publication\/([a-zA-Z0-9.]+)$/i.exec(path)) !== null && param.or_facet_document_type == 'OTHER_CONFERENCE_CONTENT') {
// https://app.dimensions.ai/details/publication/pub.1169867315?or_facet_document_type=OTHER_CONFERENCE_CONTENT
// https://app.dimensions.ai/details/publication/pub.1169867563?or_facet_document_type=OTHER_CONFERENCE_CONTENT
result.rtype = 'OTHER';
result.mime = 'HTML';
result.pii = match[1];
result.unitid = match[1];
} else if ((match = /^\/details\/publication\/([a-zA-Z0-9.]+)$/i.exec(path)) !== null && (param.or_facet_document_type == 'CORRECTION_ERRATUM' || param.or_facet_document_type == 'EDITORIAL' || param.or_facet_document_type == 'LETTER_TO_EDITOR' || param.or_facet_document_type == 'BOOK_REVIEW' || param.or_facet_document_type == 'CONFERENCE_PAPER' || param.or_facet_document_type == 'RESEARCH_ARTICLE')) {
// https://app.dimensions.ai/details/publication/pub.1168968361?or_facet_document_type=CORRECTION_ERRATUM
// https://app.dimensions.ai/details/publication/pub.1169675787?or_facet_document_type=CORRECTION_ERRATUM
// https://app.dimensions.ai/details/publication/pub.1168875268?or_facet_document_type=LETTER_TO_EDITOR
// https://app.dimensions.ai/details/publication/pub.1168540226?or_facet_document_type=LETTER_TO_EDITOR
// https://app.dimensions.ai/details/publication/pub.1170272130?or_facet_document_type=BOOK_REVIEW
// https://app.dimensions.ai/details/publication/pub.1169533246?or_facet_document_type=BOOK_REVIEW
// https://app.dimensions.ai/details/publication/pub.1168746578?or_facet_document_type=EDITORIAL
// https://app.dimensions.ai/details/publication/pub.1167954028?or_facet_document_type=EDITORIAL
// https://app.dimensions.ai/details/publication/pub.1168057325?or_facet_document_type=CONFERENCE_PAPER
// https://app.dimensions.ai/details/publication/pub.1168053624?or_facet_document_type=CONFERENCE_PAPER
// https://app-dimensions-ai.zulib.idm.oclc.org/details/publication/pub.1156013767?search_mode=content&search_text=instrument&search_type=kws&search_field=full_search&or_facet_document_type=RESEARCH_ARTICLE
// https://app.dimensions.ai/details/publication/pub.1141582510?search_mode=content&search_text=instrument&search_type=kws&search_field=full_search&or_facet_document_type=RESEARCH_ARTICLE
result.rtype = 'ARTICLE';
result.mime = 'HTML';
result.pii = match[1];
result.unitid = match[1];
} else if ((match = /^\/details\/publication\/([a-zA-Z0-9.]+)$/i.exec(path)) !== null && (param.or_facet_document_type == 'OTHER_BOOK_CONTENT' || param.or_facet_document_type == 'RESEARCH_CHAPTER')) {
// https://app.dimensions.ai/details/publication/pub.1170312630?or_facet_document_type=OTHER_BOOK_CONTENT
// https://app-dimensions-ai/details/publication/pub.1170484188?or_facet_document_type=OTHER_BOOK_CONTENT
// https://app.dimensions.ai/details/publication/pub.1155596666?search_mode=content&search_text=plastic&search_type=kws&search_field=full_search&or_facet_document_type=RESEARCH_CHAPTER
// https://app.dimensions.ai/details/publication/pub.1155539659?search_mode=content&search_text=plastic&search_type=kws&search_field=full_search&or_facet_document_type=RESEARCH_CHAPTER
result.rtype = 'BOOK_SECTION';
result.mime = 'HTML';
result.pii = match[1];
result.unitid = match[1];
} else if ((match = /^\/details\/publication\/([a-zA-Z0-9.]+)$/i.exec(path)) !== null && param.or_facet_document_type == 'CONFERENCE_ABSTRACT') {
// https://app.dimensions.ai/details/publication/pub.1170299728?or_facet_document_type=CONFERENCE_ABSTRACT
// https://app.dimensions.ai/details/publication/pub.1170297189?or_facet_document_type=CONFERENCE_ABSTRACT
result.rtype = 'ABS';
result.mime = 'HTML';
result.pii = match[1];
result.unitid = match[1];
} else if ((match = /^\/details\/publication\/([a-zA-Z0-9.]+)$/i.exec(path)) !== null && param.or_facet_document_type == 'REFERENCE_WORK') {
// https://app.dimensions.ai/details/publication/pub.1043122011?search_mode=content&search_text=instrument&search_type=kws&search_field=full_search&or_facet_document_type=REFERENCE_WORK
// https://app.dimensions.ai/details/publication/pub.1149793615?search_mode=content&search_text=instrument&search_type=kws&search_field=full_search&or_facet_document_type=REFERENCE_WORK
result.rtype = 'ENCYCLOPAEDIA_ENTRY';
result.mime = 'HTML';
result.pii = match[1];
result.unitid = match[1];
} else if (/^\/discover\/publication$/.test(path)) {
// https://app.dimensions.ai/discover/publication?search_mode=content&search_text=instrument&search_type=kws&search_field=full_search
// https://app.dimensions.ai/discover/publication?search_mode=content&search_text=plastic&search_type=kws&search_field=full_search
result.rtype = 'SEARCH';
result.mime = 'HTML';
}

return result;
});
25 changes: 25 additions & 0 deletions dimensions/test/dimensions.2024-04-22.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
out-pii;out-unitid;out-rtype;out-mime;in-url
;;SEARCH;HTML;https://app.dimensions.ai/discover/publication?search_mode=content&search_text=plastic&search_type=kws&search_field=full_search
;;SEARCH;HTML;https://app.dimensions.ai/discover/publication?search_mode=content&search_text=instrument&search_type=kws&search_field=full_search
pub.1141582510;pub.1141582510;ARTICLE;HTML;https://app.dimensions.ai/details/publication/pub.1141582510?search_mode=content&search_text=instrument&search_type=kws&search_field=full_search&or_facet_document_type=RESEARCH_ARTICLE
pub.1156013767;pub.1156013767;ARTICLE;HTML;https://app-dimensions-ai.zulib.idm.oclc.org/details/publication/pub.1156013767?search_mode=content&search_text=instrument&search_type=kws&search_field=full_search&or_facet_document_type=RESEARCH_ARTICLE
pub.1149793615;pub.1149793615;ENCYCLOPAEDIA_ENTRY;HTML;https://app.dimensions.ai/details/publication/pub.1149793615?search_mode=content&search_text=instrument&search_type=kws&search_field=full_search&or_facet_document_type=REFERENCE_WORK
pub.1043122011;pub.1043122011;ENCYCLOPAEDIA_ENTRY;HTML;https://app.dimensions.ai/details/publication/pub.1043122011?search_mode=content&search_text=instrument&search_type=kws&search_field=full_search&or_facet_document_type=REFERENCE_WORK
pub.1168053624;pub.1168053624;ARTICLE;HTML;https://app.dimensions.ai/details/publication/pub.1168053624?or_facet_document_type=CONFERENCE_PAPER
pub.1168057325;pub.1168057325;ARTICLE;HTML;https://app.dimensions.ai/details/publication/pub.1168057325?or_facet_document_type=CONFERENCE_PAPER
pub.1155539659;pub.1155539659;BOOK_SECTION;HTML;https://app.dimensions.ai/details/publication/pub.1155539659?search_mode=content&search_text=plastic&search_type=kws&search_field=full_search&or_facet_document_type=RESEARCH_CHAPTER
pub.1155596666;pub.1155596666;BOOK_SECTION;HTML;https://app.dimensions.ai/details/publication/pub.1155596666?search_mode=content&search_text=plastic&search_type=kws&search_field=full_search&or_facet_document_type=RESEARCH_CHAPTER
pub.1169533246;pub.1169533246;ARTICLE;HTML;https://app.dimensions.ai/details/publication/pub.1169533246?or_facet_document_type=BOOK_REVIEW
pub.1170272130;pub.1170272130;ARTICLE;HTML;https://app.dimensions.ai/details/publication/pub.1170272130?or_facet_document_type=BOOK_REVIEW
pub.1168540226;pub.1168540226;ARTICLE;HTML;https://app.dimensions.ai/details/publication/pub.1168540226?or_facet_document_type=LETTER_TO_EDITOR
pub.1168875268;pub.1168875268;ARTICLE;HTML;https://app.dimensions.ai/details/publication/pub.1168875268?or_facet_document_type=LETTER_TO_EDITOR
pub.1170297189;pub.1170297189;ABS;HTML;https://app.dimensions.ai/details/publication/pub.1170297189?or_facet_document_type=CONFERENCE_ABSTRACT
pub.1170299728;pub.1170299728;ABS;HTML;https://app.dimensions.ai/details/publication/pub.1170299728?or_facet_document_type=CONFERENCE_ABSTRACT
pub.1167954028;pub.1167954028;ARTICLE;HTML;https://app.dimensions.ai/details/publication/pub.1167954028?or_facet_document_type=EDITORIAL
pub.1168746578;pub.1168746578;ARTICLE;HTML;https://app.dimensions.ai/details/publication/pub.1168746578?or_facet_document_type=EDITORIAL
pub.1170484188;pub.1170484188;BOOK_SECTION;HTML;https://app-dimensions-ai/details/publication/pub.1170484188?or_facet_document_type=OTHER_BOOK_CONTENT
pub.1170312630;pub.1170312630;BOOK_SECTION;HTML;https://app.dimensions.ai/details/publication/pub.1170312630?or_facet_document_type=OTHER_BOOK_CONTENT
pub.1169675787;pub.1169675787;ARTICLE;HTML;https://app.dimensions.ai/details/publication/pub.1169675787?or_facet_document_type=CORRECTION_ERRATUM
pub.1168968361;pub.1168968361;ARTICLE;HTML;https://app.dimensions.ai/details/publication/pub.1168968361?or_facet_document_type=CORRECTION_ERRATUM
pub.1169867563;pub.1169867563;OTHER;HTML;https://app.dimensions.ai/details/publication/pub.1169867563?or_facet_document_type=OTHER_CONFERENCE_CONTENT
pub.1169867315;pub.1169867315;OTHER;HTML;https://app.dimensions.ai/details/publication/pub.1169867315?or_facet_document_type=OTHER_CONFERENCE_CONTENT

0 comments on commit dd12935

Please sign in to comment.