Application for loading ETDs into GW ScholarSpace
etd-loader performs the following functions:
Requires Python >= 3.5
Install prerequisite system packages needed for cryptography as per https://cryptography.io/en/latest/installation. For Ubuntu, this would look like:
sudo apt-get install build-essential libssl-dev libffi-dev python3-dev virtualenv
Get this code.
git clone https://github.com/gwu-libraries/etd-loader.git
Create a virtualenv.
virtualenv -p python3 ENV
source ENV/bin/activate
Install dependencies.
pip install -r requirements.txt
Copy configuration file.
cp example.config.py config.py
Edit configuration file. The file is annotated with descriptions of the configuration options.
/ <base path>
/ etd_store # Contains ETD files that have been retrieved from ETD FTP
/ import_store # Contains files to be imported into repository
/ marc_store # Contains previously created MARC records
/ etd_to_be_imported # Contains ETD files that are to be imported into repository
/ etd_to_be_marced # Contains ETD files that are to be crosswalked to MARC records
id.db #Id Store, a sqlite db mapping repository ids to Proquest ids.
To run etd-loader:
python etd_loader.py
To run single steps:
python etd_loader.py --only <retrieve or import or marc>
Running all steps will:
etd-store
, copy from remote server to etd-store
.etd-store
to etd_to_be_marced
and etd_to_be_imported
.etd_to_be_imported
:
etd_to_be_imported
.etd_to_be_marced
:
etd_to_be_marced
.marc_store
.To reprocess ETD files, the following can be used:
etd_store
. On next run, the ETD file will be
retrieved, imported into GW ScholarSpace (using the existing repository id), and a new MARC record will be generated.etd_to_be_imported
and execute python etd-loader.py --only import
.etd_to_be_marced
and execute python etd-loader.py --only marc
.