コード例 #1
0
    def get_dois(self, queries, mode, wait_time=0):
        if mode == 'mp':
            self.__logger.info('Searching with MP queries')
            mpr = MPRester(environ.get('MAPI_KEY'),
                           endpoint="https://www.materialsproject.org/rest")
            mpids = []

            for query in queries:
                try:
                    entries = mpr.get_entries(query)
                    for entry in entries:
                        mpids.extend(entry.data['task_ids'])
                    for mpid in mpids:
                        mpid = mpr.get_materials_id_from_task_id(
                            mpid)['materials_id']
                        bibtex = mpr.get_materials_id_references(mpid)
                        parsed_bibtex = bibtexparser.loads(bibtex)
                        for item in parsed_bibtex.entries:
                            if 'doi' in item:
                                if item['doi'] not in self.dl_dois:
                                    self.dl_dois.append(item['doi'])
                except:
                    self.__logger.warning(
                        'FAILURE: Failed to get DOIs from MP:' + str(query))
        elif mode == 'cr':
            self.__logger.info('Searching with CR queries')

            for query in queries:
                dl_dois = []
                try:
                    dl_dois = self.ad.get_dois_from_search(
                        query, rows=self.rows_per_query)
                except Exception, e:
                    self.__logger.warning(
                        'FAILURE: Failed to get DOIs from CR: ' + str(query))
                    self.__logger.warning('EXCEPTION: ' + str(e))

                sleep(wait_time)
                self.dl_dois.extend(dl_dois)
コード例 #2
0
ファイル: test_rest.py プロジェクト: adozier/pymatgen
 def test_get_materials_id_references(self):
     # nosetests pymatgen/matproj/tests/test_rest.py:MPResterTest.test_get_materials_id_references
     m = MPRester()
     data = m.get_materials_id_references('mp-123')
     self.assertTrue(len(data) > 1000)
コード例 #3
0
ファイル: test_rest.py プロジェクト: clairesaunders/pymatgen
 def test_get_materials_id_references(self):
     # nosetests pymatgen/matproj/tests/test_rest.py:MPResterTest.test_get_materials_id_references
     m = MPRester()
     data = m.get_materials_id_references('mp-123')
     self.assertTrue(len(data) > 1000)
コード例 #4
0
ファイル: test_rest.py プロジェクト: HiPeter/pymatgen
 def test_get_materials_id_references(self):
     # nosetests pymatgen/matproj/tests/test_rest.py:MPResterTest.test_get_materials_id_references
     # self.rester points to rest/v2 by default which doesn't have the refs endpoint
     m = MPRester(endpoint="https://www.materialsproject.org/rest")
     data = m.get_materials_id_references('mp-123')
     self.assertTrue(len(data) > 1000)
コード例 #5
0
ファイル: test_rest.py プロジェクト: yevgeniypuzyrev/pymatgen
 def test_get_materials_id_references(self):
     # nosetests pymatgen/matproj/tests/test_rest.py:MPResterTest.test_get_materials_id_references
     # self.rester points to rest/v2 by default which doesn't have the refs endpoint
     m = MPRester(endpoint="https://www.materialsproject.org/rest")
     data = m.get_materials_id_references('mp-123')
     self.assertTrue(len(data) > 1000)