bibble.metadata.key_locker

Classes

KeyLocker

Ensure key/crossref consistency by:

Module Contents

class bibble.metadata.key_locker.KeyLocker(
*,
regex=None,
sub=None,
lock_suffix=None,
key_suffix=None,
**kwargs,
)[source]

Bases: bibble.util.middlecore.IdenBlockMiddleware

Ensure key/crossref consistency by: removing unwanted chars in the key, ‘locking’ the key with a specific suffix (by default a ‘_’).

Also formats crossref values so they match. Already locked keys are ignored.

__init__ takes: - regex = the regex of chars to remove. - sub = the substitute for removed chars

Parameters:
  • regex (jgdv.Maybe[jgdv.RxStr | jgdv.Rx])

  • sub (jgdv.Maybe[str])

  • lock_suffix (jgdv.Maybe[str])

  • key_suffix (jgdv.Maybe[jgdv.RxStr | jgdv.Rx])

clean_key(key) <Unknown>[source]

Convert the entry key to a canonical form

Parameters:

key (str)

Return type:

str

on_read() <Unknown>[source]
transform_Entry(entry, library) <Unknown>[source]
Return type:

list

_bad_lock: str = '__'
_key_suffix_re: jgdv.Rx
_lock_suffix: str = '_'
_remove_re: jgdv.Rx
_sub: str = '_'