コード例 #1
0
ファイル: base.py プロジェクト: Jenniferstrej/lax
    def add_or_update_article(self, **adata):
        "creates article+article-version stubs for testing"
        replacements = [
            ('pub-date', 'published'),
            ('update', 'versionDate'),
        ]
        renkeys(adata, replacements)

        struct = {
            'id':
            utils.doi2msid(adata['doi'])
            if 'doi' in adata else adata['manuscript_id'],
            'volume':
            1,
            'type':
            'research-article',
            'title':
            '[default]',
            'version':
            1,
            'status':
            models.VOR,
            'published':
            '2012-01-01T00:00:00Z'
        }
        struct.update(adata)
        delall(struct, ['journal'])  # can't be serialized, not utilised anyway

        with self.settings(VALIDATE_FAILS_FORCE=False):
            # bad ajson won't fail ingest
            av = ajson_ingestor.ingest_publish({'article': struct}, force=True)
            av.datetime_published = utils.todt(struct['published'])
            av.save()
            return av
コード例 #2
0
ファイル: logic.py プロジェクト: elifesciences/lax
def add_or_update_article(**article_data):
    """TESTING ONLY. given article data it attempts to find the
    article and update it, otherwise it will create it, filling
    any missing keys with dummy data. returns the created article."""
    assert 'doi' in article_data or 'manuscript_id' in article_data, \
        "a value for 'doi' or 'manuscript_id' *must* exist"

    if 'manuscript_id' in article_data:
        article_data['doi'] = utils.msid2doi(article_data['manuscript_id'])
    elif 'doi' in article_data:
        article_data['manuscript_id'] = utils.doi2msid(article_data['doi'])

    filler = [
        'title',
        'doi',
        'manuscript_id',
        ('volume', 1),
        'path',
        'article-type',
        ('ejp_type', 'RA'),
        ('version', 1),
        ('pub-date', '2012-01-01'),
        ('status', 'vor'),
    ]
    article_data = utils.filldict(article_data, filler, 'pants-party')
    return eif_ingestor.import_article(journal(), article_data, create=True, update=True)
コード例 #3
0
ファイル: logic.py プロジェクト: elifesciences/lax
def add_or_update_article(**article_data):
    """TESTING ONLY. given article data it attempts to find the
    article and update it, otherwise it will create it, filling
    any missing keys with dummy data. returns the created article."""
    assert "doi" in article_data or "manuscript_id" in article_data, "a value for 'doi' or 'manuscript_id' *must* exist"

    if "manuscript_id" in article_data:
        article_data["doi"] = utils.msid2doi(article_data["manuscript_id"])
    elif "doi" in article_data:
        article_data["manuscript_id"] = utils.doi2msid(article_data["doi"])

    filler = [
        "title",
        "doi",
        "manuscript_id",
        ("volume", 1),
        "path",
        "article-type",
        ("ejp_type", "RA"),
        ("version", 1),
        ("pub-date", "2012-01-01"),
        ("status", "vor"),
    ]
    article_data = utils.filldict(article_data, filler, "pants-party")
    return eif_ingestor.import_article(journal(), article_data, create=True, update=True)
コード例 #4
0
 def update(art):
     msid = utils.doi2msid(art.doi)
     assert msid, "msid cannot be null. got %r for %r" % (msid, art)
     art.manuscript_id = msid
     art.save()
     return art
コード例 #5
0
 def update(art):
     msid = utils.doi2msid(art.doi)
     assert msid, "msid cannot be null. got %r for %r" % (msid, art)
     art.manuscript_id = msid
     art.save()
     return art
コード例 #6
0
ファイル: logic.py プロジェクト: elifesciences/lax
 def row(art):
     poa = art.earliest_poa()
     vor = art.earliest_vor()
     return (utils.doi2msid(art.doi), ymd_dt(poa), ymd_dt(vor))