Пример #1
0
def _osi_pages(pub):
    alt_id = pub.crossref_alternative_id

    if alt_id:
        url = u'https://www.sciencedirect.com/science/article/pii/{}'.format(alt_id)
        return [page.PageDoiMatch(url=url, doi=pub.id, pmh_id=publisher_equivalent_pmh_id)]
    else:
        return []
Пример #2
0
def _cegh_pages(pub):
    """
    Clinical Epidemiology and Global Health urls can often be guessed
    from an alternative ID present in Crossref metadata.
    e.g. S2213398418300927 -> https://www.ceghonline.com/article/S2213-3984(18)30092-7/fulltext
    """
    alt_id = pub.crossref_alternative_id

    if alt_id and len(alt_id) == 17:
        url = 'https://www.ceghonline.com/article/{}/fulltext'.format(_format_alt_id(alt_id))

        return [page.PageDoiMatch(url=url, doi=pub.id, pmh_id=publisher_equivalent_pmh_id)]
    else:
        return []
Пример #3
0
def _nnw_pages(pub):
    # pdf url looks like 10.14311/nnw.2016.26.006 -> http://nnw.cz/doi/2016/NNW.2016.26.006.pdf

    try:
        year = pub.id.split('.')[2]
        suffix = pub.id.split('/')[1].upper()
    except IndexError:
        return []

    if year and suffix:
        url = u'http://nnw.cz/doi/{}/{}.pdf'.format(
            year, suffix
        )
        return [page.PageDoiMatch(url=url, doi=pub.id, pmh_id=publisher_equivalent_pmh_id)]

    return []
Пример #4
0
def _pdj_pages(pub):
    # pdf url looks like https://www.jstage.jst.go.jp/article/pdj/15/1/15_1_120/_pdf

    try:
        volume = int(pub.crossref_api_raw['volume'])
        issue = int(pub.crossref_api_raw['issue'])
        page_no = int(pub.crossref_api_raw['page'].split('-')[0])
    except (KeyError, ValueError, TypeError):
        # don't try too hard, give up if anything was missing or looks weird
        return []

    if volume and issue and page_no:
        url = u'https://www.jstage.jst.go.jp/article/pdj/{}/{}/{}_{}_{}/_pdf'.format(
            volume, issue, volume, issue, page_no
        )
        return [page.PageDoiMatch(url=url, doi=pub.id, pmh_id=publisher_equivalent_pmh_id)]

    return []
Пример #5
0
def _publisher_page(url, doi):
    return page.PageDoiMatch(url=url,
                             doi=doi,
                             pmh_id=publisher_equivalent_pmh_id,
                             endpoint_id=publisher_equivalent_endpoint_id)
Пример #6
0
def _tacs_pages(pub):
    url = u'https://journals.lww.com/jtrauma/fulltext/{}'.format(pub.id)
    return [page.PageDoiMatch(url=url, doi=pub.id, pmh_id=publisher_equivalent_pmh_id)]
Пример #7
0
def _cjcatal_pages(pub):
    url = u'http://www.cjcatal.org/EN/{}'.format(pub.id)
    return [page.PageDoiMatch(url=url, doi=pub.id, pmh_id=publisher_equivalent_pmh_id)]
Пример #8
0
def _scichina_pages(pub):
    url = u'http://engine.scichina.com/doi/{}'.format(pub.id)
    return [page.PageDoiMatch(url=url, doi=pub.id, pmh_id=publisher_equivalent_pmh_id)]