Skip to content

Commit

Permalink
reorder crossref and pubmed alias calls
Browse files Browse the repository at this point in the history
Crossref might now pull a doi out of a url.  Once it has a doi, the pubmed alias method can find its pmid if it has one.
  • Loading branch information
hpiwowar committed Aug 14, 2013
1 parent 7e12820 commit 4b9a498
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 7 deletions.
8 changes: 4 additions & 4 deletions test/unit_tests/test_backend.py
Original file line number Diff line number Diff line change
Expand Up @@ -301,13 +301,13 @@ def test_decide_who_to_call_next_dryad_with_doi_url(self):
expected = {'aliases': [], 'biblio': ['dryad'], 'metrics': ['wikipedia']}
assert_equals(response, expected)

def test_decide_who_to_call_next_pmid_not_run(self):
def test_decide_who_to_call_next_crossref_not_run(self):
aliases_dict = {"pmid":["111"]}
prev_aliases = ["mendeley"]
response = backend.Backend.sniffer(aliases_dict, prev_aliases, self.TEST_PROVIDER_CONFIG)
print response
# expect need to get more aliases
expected = {'metrics': [], 'biblio': [], 'aliases': ['pubmed']}
expected = {'metrics': [], 'biblio': [], 'aliases': ['crossref']}
assert_equals(response, expected)

def test_decide_who_to_call_next_pmid_mendeley_not_run(self):
Expand Down Expand Up @@ -356,7 +356,7 @@ def test_decide_who_to_call_next_doi_crossref_pubmed_mendeley_prev_called(self):
response = backend.Backend.sniffer(aliases_dict, prev_aliases, self.TEST_PROVIDER_CONFIG)
print response
# expect need to get metrics, no biblio
expected = {'metrics': ["wikipedia"], 'biblio': ['pubmed', 'crossref', 'webpage'], 'aliases': []}
expected = {'metrics': ['wikipedia'], 'biblio': ['crossref', 'pubmed', 'webpage'], 'aliases': []}
assert_equals(response, expected)

def test_decide_who_to_call_next_pmid_crossref_pubmed_prev_called(self):
Expand All @@ -366,7 +366,7 @@ def test_decide_who_to_call_next_pmid_crossref_pubmed_prev_called(self):
response = backend.Backend.sniffer(aliases_dict, prev_aliases, self.TEST_PROVIDER_CONFIG)
print response
# expect need to get metrics, no biblio
expected = {'metrics': ["wikipedia"], 'biblio': ['pubmed', 'crossref', 'webpage'], 'aliases': []}
expected = {'metrics': ['wikipedia'], 'biblio': ['crossref', 'pubmed', 'webpage'], 'aliases': []}
assert_equals(response, expected)


6 changes: 3 additions & 3 deletions totalimpact/backend.py
Original file line number Diff line number Diff line change
Expand Up @@ -290,13 +290,13 @@ def sniffer(cls, item_aliases, aliases_providers_run, provider_config=default_se
if (genre == "article"):
if not "mendeley" in aliases_providers_run:
aliases_providers = ["mendeley"]
elif not "crossref" in aliases_providers_run:
aliases_providers = ["crossref"] # do this before pubmed because might tease doi from url
elif not "pubmed" in aliases_providers_run:
aliases_providers = ["pubmed"]
elif not "crossref" in aliases_providers_run:
aliases_providers = ["crossref"]
else:
metrics_providers = all_metrics_providers
biblio_providers = ["pubmed", "crossref", "webpage"]
biblio_providers = ["crossref", "pubmed", "webpage"]
else:
# relevant alias and biblio providers are always the same
relevant_providers = [host]
Expand Down

0 comments on commit 4b9a498

Please sign in to comment.