Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Wishes for new fetchers #2581

Closed
5 tasks done
stefan-kolb opened this issue Feb 22, 2017 · 9 comments
Closed
5 tasks done

Wishes for new fetchers #2581

stefan-kolb opened this issue Feb 22, 2017 · 9 comments
Labels
fetcher good first issue An issue intended for project-newcomers. Varies in difficulty. type: enhancement

Comments

@stefan-kolb
Copy link
Member

stefan-kolb commented Feb 22, 2017

Issue to collect wishes for new fetcher implementations. We should also add a prioritization here.

Fulltext:

Entry-based:

ID-based:

Search-based:

@CfKu
Copy link

CfKu commented Oct 2, 2017

By the way, ottobib is worldcat.org based
Worldcat API manual: http://xisbn.worldcat.org/xisbnadmin/doc/api.htm#schema and example http://kitchingroup.cheme.cmu.edu/blog/2015/01/31/Turn-an-ISBN-to-a-bibtex-entry/

@tobiasdiez tobiasdiez added the good first issue An issue intended for project-newcomers. Varies in difficulty. label Jul 10, 2018
@r0light
Copy link
Contributor

r0light commented Mar 28, 2019

Is there currently a need for new fetchers? Since all the issues are closed, it seems like this issue could also be closed

@Siedlerchr
Copy link
Member

@r0light This issue is still valid, it was created to have a central list of fetcher wishes and not an issue for each fetcher to keep the better overview

@allisonsampaio
Copy link
Contributor

I developed the option to use ottobib based on the chimbori, then after it try the ebook.de and chimbori.com is made the requisition for ottobib.

I'm not sure if the method returns the expected ottobib bibtex. I'm putting here the IsbnViaOttoBibFetcher code.

    String BASE_URL = "https://www.ottobib.com/isbn/" + identifier + "/bibtex";

    try {
        postResponse = Unirest.post(BASE_URL)
                .asString();
    } catch (UnirestException e) {
        throw new FetcherException("Could not retrieve data from ottobib.com", e);
    }
    if (postResponse.getStatus() != 200) {
        throw new FetcherException("Error while retrieving data from ottobib.com: " + postResponse.getBody());
    }

    List<BibEntry> fetchedEntries;
    try {
        fetchedEntries = getParser().parseEntries(postResponse.getRawBody());
    } catch (ParseException e) {
        throw new FetcherException("An internal parser error occurred", e);
    }
    if (fetchedEntries.isEmpty()) {
        return Optional.empty();
    } else if (fetchedEntries.size() > 1) {
        LOGGER.info("Fetcher " + getName() + "found more than one result for identifier " + identifier
                + ". We will use the first entry.");
    }

    BibEntry entry = fetchedEntries.get(0);

   
    entry.setField("isbn", identifier);

    doPostCleanup(entry);

    return Optional.of(entry);`

This was referenced Jul 13, 2019
@Siedlerchr
Copy link
Member

Chimbori was removed, and ottobib was added. Ottobib uses worldcat for searching ISBN

@GlennOlsson
Copy link

Looking at the Worldcat fetcher at the moment. The Worldcat API would require an API key, is that something you are able to provide for testing? And how would that be added in the production code?

@augustjanse
Copy link
Contributor

I'm working on the APS fetcher. Not sure what your stance is on API keys, but I'll just implement it for the open access papers.

@koppor
Copy link
Member

koppor commented Feb 27, 2020

@GlennOlsson Thank you for your intested.

  1. Get a key for yourself
  2. Work on the fetcher
  3. Add the API key as constant
  4. Add a preference that a user can add a key for himself. Include a link to the page where the key can be added
  5. For the test cases, expect the key in an environment variable. (Can also be in the JabRef code itself that the fetcher checks JabRef's preferences and as fallback the environment variable. And then as fallback the constant).

Note that in the SpringerLink fetcher we did not implement the preference and the environment variable, but only the constant 😇

@koppor
Copy link
Member

koppor commented Mar 22, 2020

There are now PRs for each fetchers listed above. Thus, I close this issue. Thanks to everybody involved.

@koppor koppor closed this as completed Mar 22, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
fetcher good first issue An issue intended for project-newcomers. Varies in difficulty. type: enhancement
Projects
None yet
Development

No branches or pull requests

9 participants