Exemplo n.º 1
0
class RetrieverTest(unittest.TestCase):

    def setUp(self):
        self.base_dir = os.path.dirname(os.path.realpath(__file__))

        __data_dir = os.path.join(self.base_dir, 'data')
        if not os.path.exists(__data_dir):
            os.mkdir(__data_dir)

        self.retriever = Retriever(__data_dir)

    def test_download(self):
        records = ['ins1404159', 'ins1396140']

        for record in records:
            self.retriever.get_record(record)
            self.assertTrue(
                os.path.exists(os.path.join(self.base_dir, 'data', record)))

    def test_get_all_current_ids(self):
        inspire_ids = self.retriever.get_all_ids_in_current_system()
        print 'We have {0} records to retrieve'.format(len(inspire_ids))
        self.assertTrue(len(inspire_ids) > 0)
Exemplo n.º 2
0
retriever2 = Retriever(temp_dir, base_url="http://hepdata.cedar.ac.uk/h2test/view/{0}/yaml")

for index, inspire_id in enumerate(inspire_ids):
    submission_label.change_text(inspire_id)
    pbar.update(index)

    if inspire_id == '':
        print('Warning: empty inspire_id', file=sys.stderr)
        continue

    dest_path = data_dir + '/' + inspire_id[-2:] + '/'
    makedirs(dest_path)
    if os.path.exists(dest_path + inspire_id):
        continue

    try:
        if inspire_id in ['ins825040', 'ins1289225']:
            print('Warning: downloading from http://hepdata.cedar.ac.uk/h2test/view/{0}/yaml'.format(inspire_id), file=sys.stderr)
            retriever2.get_record(inspire_id)
        else:
            retriever.get_record(inspire_id)
        shutil.move(temp_dir + '/' + inspire_id, dest_path)
        os.remove(temp_dir + '/' + inspire_id + '.zip')
    except KeyboardInterrupt:
        print('\nInterrupted.', file=sys.stderr)
        raise SystemExit(2)
    except:
        print('Ignoring %s.' % inspire_id, file=sys.stderr)

pbar.finish()