A simple Python module for validating BagIt Profiles. See the BagIt Profiles Specification (draft) for more information.
This module is intended for use with bagit-python but does not extend it.
bagit_profile.py
is a single-file Python module that you can drop into your project as needed or you can install globally with:
git clone https://github.com/bagit-profiles/bagit-profiles-validator.git
cd bagit-profiles-validator
sudo python setup.py install
or:
pip install bagit_profile
import bagit
import bagit_profile
Instantiate an existing Bag using bagit-python.
bag = bagit.Bag('mydir')
Instantiate a profile, supplying its URI.
my_profile = bagit_profile.Profile('http://example.com/bagitprofile.json')
Validate 'Serialization' and 'Accept-Serialization'. This must be done before .validate(bag)
is called. mydir
is the path to the Bag.
if my_profile.validate_serialization('mydir'):
print "Serialization validates"
else:
print "Serialization does not validate"
Validate the rest of the profile.
if my_profile.validate(bag):
print "Validates"
else:
print "Does not validate"
Or from the commandline:
bagit_profile.py 'http://uri.for.profile/profile.json' path/to/bag
python setup.py test