57 lines
954 B
Python

"""
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',
}