Skip to main content

Set of tools facilitating the process of importing book collections into SimplyE's Circulation Manager by using SFTP protocol

Project description

circulation-import

Set of tools facilitating the process of importing book collections into SimplyE's Circulation Manager by using SFTP protocol.

Architecture

circulation-import consists of two parts:

  • client responsible for uploading content to the SFTP server, waiting for a report, downloading it and converting it to CSV format
  • server responsible for watching for new book collections, importing them into CM using its directory_import script and uploading a report to the SFTP server

Picture below illustrates the architecture of the solution: circulation-import architecture

Another picture below contains a sequence diagram Import workflow

Usage

  1. Update all the submodules:
git submodule update --remote --recursive
cd circulation-lcp-test
git submodule update --remote --recursive
cd ..
  1. Run the LCP testbed:
docker-compose --file circulation-lcp-test/docker-compose.yml --env-file circulation-lcp-test/.env up -d
  1. Follow the instructions in LCP testbed's README.md file to set it up

  2. Run the server:

docker-compose --file circulation-lcp-test/docker-compose.yml --file docker-compose.yml --env-file circulation-lcp-test/.env up -d
  1. Create and activate a virtual environment:
python -m venv .venv
source .venv/bin/activate
  1. Install circulation-import from PyPi:
pip install circulation-import
  1. Run the client:
python -m circulation-import client import \
    --collection-name=lcp \
    --data-source-name=data_source_1 \
    --books-directory=./circulation-lcp-test/lcp-collection/collection \
    --covers-directory=./circulation-lcp-test/lcp-collection/collection \
    --reports-directory=./reports \
    --metadata-file=./circulation-lcp-test/lcp-collection/collection/onix.xml \
    --metadata-format=onix \
    --configuration-file=./configuration/client-configuration.yml \
    --logging-configuration-file=./configuration/logging.yml
  1. Go to reports folder and find a report in CSV format

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

circulation-import-0.0.1.tar.gz (16.5 kB view hashes)

Uploaded Source

Built Distribution

circulation_import-0.0.1-py3-none-any.whl (22.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page