示例#1
0
    def __init__(self,
                 query=None,
                 orcid_id=None,
                 orcid_email=None,
                 sandbox=True):
        """Initialize

        Parameters
        ----------
        :param orcid_id: string
            Needs orcid_id to perform a request by orcid_id.
        :param orcid_email: string
            Needs an email address to perform a request by email.
        """
        if orcid_email:
            self.search_obj = OrcidSearchResults(sandbox)
            self.data = self.search_obj.basic_search(orcid_email)
            self.orcid_id = self.get_id()
        elif query:
            self.sandbox = sandbox
            self.search_obj = OrcidSearchResults(sandbox)
            self.search_obj.basic_search(query)
            self.orcid_id = self.select_id()
        else:
            self.search_obj = OrcidSearchResults(sandbox)
            self.orcid_id = orcid_id

        if self.orcid_id is not None:
            try:
                self.url = self.search_obj.api._endpoint_public + '/' + self.orcid_id
                self.headers = {'Accept': 'text/turtle'}
                self.turtle_config = None
            except:
                print('Orcid ID or email is invalid.  Please try again.')
                exit()