These are the exceptions thrown by Ferenda. Any of the python built-in exceptions may be thrown as well, but exceptions in used third-party libraries should be wrapped in one of these.
- exception ferenda.errors.FSMStateError¶
Raised whenever the current state and the current symbol in a FSMParser configuration does not have a defined transition.
- exception ferenda.errors.DocumentRemovedError¶
Raised whenever a particular document has been found to be removed – this can happen either during download() or parse() (which may be the case if there exists a physical document, but whose contents are essentially a placeholder saying that the document has been removed).
You can set the attribute dummyfile on this exception when raising it, preferably to the parsed_path that would be created, if not this exception had occurred.. If present, ferenda-build.py (or rather ferenda.manager.run()) will use this to create a dummy file at the indicated path. This prevents endless re-parsing of expired documents.
- exception ferenda.errors.NoDownloadedFileError¶
Raised on an attempt to parse a basefile for which there doesn’t exist a downloaded file.
- exception ferenda.errors.AttachmentNameError¶
Raised whenever an invalid attachment name is used with any method of DocumentStore.
- exception ferenda.errors.AttachmentPolicyError¶
Raised on any attempt to store an attachment using DocumentStore when storage_policy is not set to dir.
- exception ferenda.errors.ArchivingError¶
Raised whenever an attempt to archive a document version using archive() fails (for example, because the archive version already exists).
- exception ferenda.errors.ValidationError¶
Raised whenever a created document doesn’t validate using the appropriate schema.
- exception ferenda.errors.TransformError¶
Raised whenever a XSLT transformation fails for any reason.
- exception ferenda.errors.ExternalCommandError¶
Raised whenever any invocation of an external commmand fails for any reason (including if the command line program doesn’t exist).
- exception ferenda.errors.ConfigurationError¶
Raised when a configuration file cannot be found in it’s expected location or when it cannot be used due to corruption, file permissions or other reasons
- exception ferenda.errors.TriplestoreError¶
Raised whenever communications with the triple store fails, for whatever reason.
- exception ferenda.errors.SparqlError¶
Raised whenever a SPARQL query fails. The Exception should contain whatever error message that the Triple store returned, so the exact formatting may be dependent on which store is used.
- exception ferenda.errors.IndexingError¶
Raised whenever an attempt to put text into the fulltext index fails.
- exception ferenda.errors.SearchingError¶
Raised whenever an attempt to do a full-text search fails.
- exception ferenda.errors.SchemaConflictError¶
Raised whenever a fulltext index is opened with repo arguments that result in a different schema than what’s currently in use. Workaround this by removing the fulltext index and recreating.
- exception ferenda.errors.SchemaMappingError¶
Raised whenever a given field in a schema cannot be mapped to or from the underlying native field object in an actual fulltextindex store.