""" Internal constants for the difference analysis sub-package. """ import re __all__ = [ 'ACROFORM_EXEMPT_STRICT_COMPARISON', 'ROOT_EXEMPT_STRICT_COMPARISON', 'FORMFIELD_ALWAYS_MODIFIABLE', 'VALUE_UPDATE_KEYS', 'VRI_KEY_PATTERN', ] # /Type: dictionary type (can always be added if correct) # /Ff: Form field flags FORMFIELD_ALWAYS_MODIFIABLE = {'/Ff', '/Type'} # /AP: appearance dictionary # /AS: current appearance state # /V: field value # /F: (widget) annotation flags # /DA: default appearance # /Q: quadding VALUE_UPDATE_KEYS = FORMFIELD_ALWAYS_MODIFIABLE | { '/AP', '/AS', '/V', '/F', '/DA', '/Q', } VRI_KEY_PATTERN = re.compile('/[A-Z0-9]{40}') ACROFORM_EXEMPT_STRICT_COMPARISON = { '/Fields', '/DR', '/DA', '/Q', '/NeedAppearances', } ROOT_EXEMPT_STRICT_COMPARISON = { '/AcroForm', '/DSS', '/Extensions', '/Metadata', '/MarkInfo', '/Version', }