ocfl-py

Demonstration of OCFL Sidecar creation and update script

Output from tests/test_demo_ocfl_sidecar_script.py.

1. Test showing version number.

1.1 Show version number

The --version argument will show version number and exit

> python ocfl-sidecar.py --version
ocfl-sidecar.py is part of ocfl-py version 2.0.2

2. Test creation of a sidecar file.

2.1 Set up directory as object root

> mkdir -v tmp/obj
mkdir: created directory 'tmp/obj'

2.2 Copy in an inventory from an example

> cp -v fixtures/1.0/good-objects/minimal_one_version_one_file/inventory.json tmp/obj
'fixtures/1.0/good-objects/minimal_one_version_one_file/inventory.json' -> 'tmp/obj/inventory.json'

2.3 Create sidecar for inventory in specified object

The digest type will be set by reading the inventory (in this case, sha512)

> python ocfl-sidecar.py tmp/obj
Written sidecar file tmp/obj/inventory.json.sha512

2.4 Create sidecar for specified inventory

The digest type will be set by reading the inventory (in this case, sha512)

> python ocfl-sidecar.py tmp/obj/inventory.json
Written sidecar file tmp/obj/inventory.json.sha512

2.5 Create a new sidecar with a different digest

The digest type is set with the –digest parameter

> python ocfl-sidecar.py --digest sha256 tmp/obj
Written sidecar file tmp/obj/inventory.json.sha256

3. Test creation of multiple sidecar files.

3.1 Set up directory as object 1 root

> mkdir -v tmp/obj1
mkdir: created directory 'tmp/obj1'

3.2 Set up directory as object 2 root

> mkdir -v tmp/obj2
mkdir: created directory 'tmp/obj2'

3.3 Set up directory as object 3 root

> mkdir -v tmp/obj3
mkdir: created directory 'tmp/obj3'

3.4 Copy in an inventory from an example for object 1

> cp -v fixtures/1.1/good-objects/minimal_uppercase_digests/inventory.json tmp/obj1
'fixtures/1.1/good-objects/minimal_uppercase_digests/inventory.json' -> 'tmp/obj1/inventory.json'

3.5 Copy in an inventory from an example for object 2

> cp -v fixtures/1.1/good-objects/minimal_mixed_digests/inventory.json tmp/obj2
'fixtures/1.1/good-objects/minimal_mixed_digests/inventory.json' -> 'tmp/obj2/inventory.json'

3.6 Copy in an inventory from an example for object 3

> cp -v fixtures/1.1/good-objects/minimal_no_content/inventory.json tmp/obj3
'fixtures/1.1/good-objects/minimal_no_content/inventory.json' -> 'tmp/obj3/inventory.json'

3.7 Create sidecars for all 3 inventory files

> python ocfl-sidecar.py tmp/obj1 tmp/obj2 tmp/obj3
Written sidecar file tmp/obj1/inventory.json.sha512
Written sidecar file tmp/obj2/inventory.json.sha512
Written sidecar file tmp/obj3/inventory.json.sha512