'default_attributes': make sure 'elements' is a list
This commit is contained in:
parent
1650f91ea4
commit
20dcbcbe64
1 changed files with 63 additions and 63 deletions
126
scour/scour.py
126
scour/scour.py
|
|
@ -1741,14 +1741,14 @@ DefaultAttribute = namedtuple('DefaultAttribute', ['name', 'value', 'units', 'el
|
||||||
DefaultAttribute.__new__.__defaults__ = (None,) * len(DefaultAttribute._fields)
|
DefaultAttribute.__new__.__defaults__ = (None,) * len(DefaultAttribute._fields)
|
||||||
default_attributes = [
|
default_attributes = [
|
||||||
# unit systems
|
# unit systems
|
||||||
DefaultAttribute('clipPathUnits', 'userSpaceOnUse', elements='clipPath'),
|
DefaultAttribute('clipPathUnits', 'userSpaceOnUse', elements=['clipPath']),
|
||||||
DefaultAttribute('filterUnits', 'objectBoundingBox', elements='filter'),
|
DefaultAttribute('filterUnits', 'objectBoundingBox', elements=['filter']),
|
||||||
DefaultAttribute('gradientUnits', 'objectBoundingBox', elements=['linearGradient', 'radialGradient']),
|
DefaultAttribute('gradientUnits', 'objectBoundingBox', elements=['linearGradient', 'radialGradient']),
|
||||||
DefaultAttribute('maskUnits', 'objectBoundingBox', elements='mask'),
|
DefaultAttribute('maskUnits', 'objectBoundingBox', elements=['mask']),
|
||||||
DefaultAttribute('maskContentUnits', 'userSpaceOnUse', elements='mask'),
|
DefaultAttribute('maskContentUnits', 'userSpaceOnUse', elements=['mask']),
|
||||||
DefaultAttribute('patternUnits', 'objectBoundingBox', elements='pattern'),
|
DefaultAttribute('patternUnits', 'objectBoundingBox', elements=['pattern']),
|
||||||
DefaultAttribute('patternContentUnits', 'userSpaceOnUse', elements='pattern'),
|
DefaultAttribute('patternContentUnits', 'userSpaceOnUse', elements=['pattern']),
|
||||||
DefaultAttribute('primitiveUnits', 'userSpaceOnUse', elements='filter'),
|
DefaultAttribute('primitiveUnits', 'userSpaceOnUse', elements=['filter']),
|
||||||
|
|
||||||
DefaultAttribute('externalResourcesRequired', 'false',
|
DefaultAttribute('externalResourcesRequired', 'false',
|
||||||
elements=['a', 'altGlyph', 'animate', 'animateColor',
|
elements=['a', 'altGlyph', 'animate', 'animateColor',
|
||||||
|
|
@ -1759,9 +1759,9 @@ default_attributes = [
|
||||||
'use', 'view']),
|
'use', 'view']),
|
||||||
|
|
||||||
# svg elements
|
# svg elements
|
||||||
DefaultAttribute('width', 100, Unit.PCT, elements='svg'),
|
DefaultAttribute('width', 100, Unit.PCT, elements=['svg']),
|
||||||
DefaultAttribute('height', 100, Unit.PCT, elements='svg'),
|
DefaultAttribute('height', 100, Unit.PCT, elements=['svg']),
|
||||||
DefaultAttribute('baseProfile', 'none', elements='svg'),
|
DefaultAttribute('baseProfile', 'none', elements=['svg']),
|
||||||
DefaultAttribute('preserveAspectRatio', 'xMidYMid meet',
|
DefaultAttribute('preserveAspectRatio', 'xMidYMid meet',
|
||||||
elements=['feImage', 'image', 'marker', 'pattern', 'svg', 'symbol', 'view']),
|
elements=['feImage', 'image', 'marker', 'pattern', 'svg', 'symbol', 'view']),
|
||||||
|
|
||||||
|
|
@ -1771,26 +1771,26 @@ default_attributes = [
|
||||||
DefaultAttribute('y', 0, elements=['cursor', 'fePointLight', 'feSpotLight', 'foreignObject',
|
DefaultAttribute('y', 0, elements=['cursor', 'fePointLight', 'feSpotLight', 'foreignObject',
|
||||||
'image', 'pattern', 'rect', 'svg', 'text', 'use']),
|
'image', 'pattern', 'rect', 'svg', 'text', 'use']),
|
||||||
DefaultAttribute('z', 0, elements=['fePointLight', 'feSpotLight']),
|
DefaultAttribute('z', 0, elements=['fePointLight', 'feSpotLight']),
|
||||||
DefaultAttribute('x1', 0, elements='line'),
|
DefaultAttribute('x1', 0, elements=['line']),
|
||||||
DefaultAttribute('y1', 0, elements='line'),
|
DefaultAttribute('y1', 0, elements=['line']),
|
||||||
DefaultAttribute('x2', 0, elements='line'),
|
DefaultAttribute('x2', 0, elements=['line']),
|
||||||
DefaultAttribute('y2', 0, elements='line'),
|
DefaultAttribute('y2', 0, elements=['line']),
|
||||||
DefaultAttribute('cx', 0, elements=['circle', 'ellipse']),
|
DefaultAttribute('cx', 0, elements=['circle', 'ellipse']),
|
||||||
DefaultAttribute('cy', 0, elements=['circle', 'ellipse']),
|
DefaultAttribute('cy', 0, elements=['circle', 'ellipse']),
|
||||||
|
|
||||||
# markers
|
# markers
|
||||||
DefaultAttribute('markerUnits', 'strokeWidth', elements='marker'),
|
DefaultAttribute('markerUnits', 'strokeWidth', elements=['marker']),
|
||||||
DefaultAttribute('refX', 0, elements='marker'),
|
DefaultAttribute('refX', 0, elements=['marker']),
|
||||||
DefaultAttribute('refY', 0, elements='marker'),
|
DefaultAttribute('refY', 0, elements=['marker']),
|
||||||
DefaultAttribute('markerHeight', 3, elements='marker'),
|
DefaultAttribute('markerHeight', 3, elements=['marker']),
|
||||||
DefaultAttribute('markerWidth', 3, elements='marker'),
|
DefaultAttribute('markerWidth', 3, elements=['marker']),
|
||||||
DefaultAttribute('orient', 0, elements='marker'),
|
DefaultAttribute('orient', 0, elements=['marker']),
|
||||||
|
|
||||||
# text / textPath / tspan / tref
|
# text / textPath / tspan / tref
|
||||||
DefaultAttribute('lengthAdjust', 'spacing', elements=['text', 'textPath', 'tref', 'tspan']),
|
DefaultAttribute('lengthAdjust', 'spacing', elements=['text', 'textPath', 'tref', 'tspan']),
|
||||||
DefaultAttribute('startOffset', 0, elements='textPath'),
|
DefaultAttribute('startOffset', 0, elements=['textPath']),
|
||||||
DefaultAttribute('method', 'align', elements='textPath'),
|
DefaultAttribute('method', 'align', elements=['textPath']),
|
||||||
DefaultAttribute('spacing', 'exact', elements='textPath'),
|
DefaultAttribute('spacing', 'exact', elements=['textPath']),
|
||||||
|
|
||||||
# filters and masks
|
# filters and masks
|
||||||
DefaultAttribute('x', -10, Unit.PCT, ['filter', 'mask']),
|
DefaultAttribute('x', -10, Unit.PCT, ['filter', 'mask']),
|
||||||
|
|
@ -1807,63 +1807,63 @@ default_attributes = [
|
||||||
conditions=lambda node: node.getAttribute('gradientUnits') != 'userSpaceOnUse'),
|
conditions=lambda node: node.getAttribute('gradientUnits') != 'userSpaceOnUse'),
|
||||||
|
|
||||||
# gradients
|
# gradients
|
||||||
DefaultAttribute('x1', 0, elements='linearGradient'),
|
DefaultAttribute('x1', 0, elements=['linearGradient']),
|
||||||
DefaultAttribute('y1', 0, elements='linearGradient'),
|
DefaultAttribute('y1', 0, elements=['linearGradient']),
|
||||||
DefaultAttribute('y2', 0, elements='linearGradient'),
|
DefaultAttribute('y2', 0, elements=['linearGradient']),
|
||||||
DefaultAttribute('x2', 100, Unit.PCT, 'linearGradient'),
|
DefaultAttribute('x2', 100, Unit.PCT, elements=['linearGradient']),
|
||||||
DefaultAttribute('x2', 1, Unit.NONE, 'linearGradient',
|
DefaultAttribute('x2', 1, Unit.NONE, elements=['linearGradient'],
|
||||||
conditions=lambda node: node.getAttribute('gradientUnits') != 'userSpaceOnUse'),
|
conditions=lambda node: node.getAttribute('gradientUnits') != 'userSpaceOnUse'),
|
||||||
# remove fx/fy before cx/cy to catch the case where fx = cx = 50% or fy = cy = 50% respectively
|
# remove fx/fy before cx/cy to catch the case where fx = cx = 50% or fy = cy = 50% respectively
|
||||||
DefaultAttribute('fx', elements='radialGradient',
|
DefaultAttribute('fx', elements=['radialGradient'],
|
||||||
conditions=lambda node: node.getAttribute('fx') == node.getAttribute('cx')),
|
conditions=lambda node: node.getAttribute('fx') == node.getAttribute('cx')),
|
||||||
DefaultAttribute('fy', elements='radialGradient',
|
DefaultAttribute('fy', elements=['radialGradient'],
|
||||||
conditions=lambda node: node.getAttribute('fy') == node.getAttribute('cy')),
|
conditions=lambda node: node.getAttribute('fy') == node.getAttribute('cy')),
|
||||||
DefaultAttribute('r', 50, Unit.PCT, 'radialGradient'),
|
DefaultAttribute('r', 50, Unit.PCT, elements=['radialGradient']),
|
||||||
DefaultAttribute('r', 0.5, Unit.NONE, 'radialGradient',
|
DefaultAttribute('r', 0.5, Unit.NONE, elements=['radialGradient'],
|
||||||
conditions=lambda node: node.getAttribute('gradientUnits') != 'userSpaceOnUse'),
|
conditions=lambda node: node.getAttribute('gradientUnits') != 'userSpaceOnUse'),
|
||||||
DefaultAttribute('cx', 50, Unit.PCT, 'radialGradient'),
|
DefaultAttribute('cx', 50, Unit.PCT, elements=['radialGradient']),
|
||||||
DefaultAttribute('cx', 0.5, Unit.NONE, 'radialGradient',
|
DefaultAttribute('cx', 0.5, Unit.NONE, elements=['radialGradient'],
|
||||||
conditions=lambda node: node.getAttribute('gradientUnits') != 'userSpaceOnUse'),
|
conditions=lambda node: node.getAttribute('gradientUnits') != 'userSpaceOnUse'),
|
||||||
DefaultAttribute('cy', 50, Unit.PCT, 'radialGradient'),
|
DefaultAttribute('cy', 50, Unit.PCT, elements=['radialGradient']),
|
||||||
DefaultAttribute('cy', 0.5, Unit.NONE, 'radialGradient',
|
DefaultAttribute('cy', 0.5, Unit.NONE, elements=['radialGradient'],
|
||||||
conditions=lambda node: node.getAttribute('gradientUnits') != 'userSpaceOnUse'),
|
conditions=lambda node: node.getAttribute('gradientUnits') != 'userSpaceOnUse'),
|
||||||
DefaultAttribute('spreadMethod', 'pad'),
|
DefaultAttribute('spreadMethod', 'pad'),
|
||||||
|
|
||||||
# filter effects
|
# filter effects
|
||||||
DefaultAttribute('amplitude', 1, elements=['feFuncA', 'feFuncB', 'feFuncG', 'feFuncR']),
|
DefaultAttribute('amplitude', 1, elements=['feFuncA', 'feFuncB', 'feFuncG', 'feFuncR']),
|
||||||
DefaultAttribute('azimuth', 0, elements='feDistantLight'),
|
DefaultAttribute('azimuth', 0, elements=['feDistantLight']),
|
||||||
DefaultAttribute('baseFrequency', 0, elements=['feFuncA', 'feFuncB', 'feFuncG', 'feFuncR']),
|
DefaultAttribute('baseFrequency', 0, elements=['feFuncA', 'feFuncB', 'feFuncG', 'feFuncR']),
|
||||||
DefaultAttribute('bias', 1, elements='feConvolveMatrix'),
|
DefaultAttribute('bias', 1, elements=['feConvolveMatrix']),
|
||||||
DefaultAttribute('diffuseConstant', 1, elements='feDiffuseLighting'),
|
DefaultAttribute('diffuseConstant', 1, elements=['feDiffuseLighting']),
|
||||||
DefaultAttribute('edgeMode', 'duplicate', elements='feConvolveMatrix'),
|
DefaultAttribute('edgeMode', 'duplicate', elements=['feConvolveMatrix']),
|
||||||
DefaultAttribute('elevation', 0, elements='feDistantLight'),
|
DefaultAttribute('elevation', 0, elements=['feDistantLight']),
|
||||||
DefaultAttribute('exponent', 1, elements=['feFuncA', 'feFuncB', 'feFuncG', 'feFuncR']),
|
DefaultAttribute('exponent', 1, elements=['feFuncA', 'feFuncB', 'feFuncG', 'feFuncR']),
|
||||||
DefaultAttribute('intercept', 0, elements=['feFuncA', 'feFuncB', 'feFuncG', 'feFuncR']),
|
DefaultAttribute('intercept', 0, elements=['feFuncA', 'feFuncB', 'feFuncG', 'feFuncR']),
|
||||||
DefaultAttribute('k1', 0, elements='feComposite'),
|
DefaultAttribute('k1', 0, elements=['feComposite']),
|
||||||
DefaultAttribute('k2', 0, elements='feComposite'),
|
DefaultAttribute('k2', 0, elements=['feComposite']),
|
||||||
DefaultAttribute('k3', 0, elements='feComposite'),
|
DefaultAttribute('k3', 0, elements=['feComposite']),
|
||||||
DefaultAttribute('k4', 0, elements='feComposite'),
|
DefaultAttribute('k4', 0, elements=['feComposite']),
|
||||||
DefaultAttribute('mode', 'normal', elements='feBlend'),
|
DefaultAttribute('mode', 'normal', elements=['feBlend']),
|
||||||
DefaultAttribute('numOctaves', 1, elements='feTurbulence'),
|
DefaultAttribute('numOctaves', 1, elements=['feTurbulence']),
|
||||||
DefaultAttribute('offset', 0, elements=['feFuncA', 'feFuncB', 'feFuncG', 'feFuncR']),
|
DefaultAttribute('offset', 0, elements=['feFuncA', 'feFuncB', 'feFuncG', 'feFuncR']),
|
||||||
DefaultAttribute('operator', 'over', elements='feComposite'),
|
DefaultAttribute('operator', 'over', elements=['feComposite']),
|
||||||
DefaultAttribute('operator', 'erode', elements='feMorphology'),
|
DefaultAttribute('operator', 'erode', elements=['feMorphology']),
|
||||||
DefaultAttribute('order', 3, elements='feConvolveMatrix'),
|
DefaultAttribute('order', 3, elements=['feConvolveMatrix']),
|
||||||
DefaultAttribute('pointsAtX', 0, elements='feSpotLight'),
|
DefaultAttribute('pointsAtX', 0, elements=['feSpotLight']),
|
||||||
DefaultAttribute('pointsAtY', 0, elements='feSpotLight'),
|
DefaultAttribute('pointsAtY', 0, elements=['feSpotLight']),
|
||||||
DefaultAttribute('pointsAtZ', 0, elements='feSpotLight'),
|
DefaultAttribute('pointsAtZ', 0, elements=['feSpotLight']),
|
||||||
DefaultAttribute('preserveAlpha', 'false', elements='feConvolveMatrix'),
|
DefaultAttribute('preserveAlpha', 'false', elements=['feConvolveMatrix']),
|
||||||
DefaultAttribute('scale', 0, elements='feDisplacementMap'),
|
DefaultAttribute('scale', 0, elements=['feDisplacementMap']),
|
||||||
DefaultAttribute('seed', 0, elements='feTurbulence'),
|
DefaultAttribute('seed', 0, elements=['feTurbulence']),
|
||||||
DefaultAttribute('specularConstant', 1, elements='feSpecularLighting'),
|
DefaultAttribute('specularConstant', 1, elements=['feSpecularLighting']),
|
||||||
DefaultAttribute('specularExponent', 1, elements=['feSpecularLighting', 'feSpotLight']),
|
DefaultAttribute('specularExponent', 1, elements=['feSpecularLighting', 'feSpotLight']),
|
||||||
DefaultAttribute('stdDeviation', 0, elements='feGaussianBlur'),
|
DefaultAttribute('stdDeviation', 0, elements=['feGaussianBlur']),
|
||||||
DefaultAttribute('stitchTiles', 'noStitch', elements='feTurbulence'),
|
DefaultAttribute('stitchTiles', 'noStitch', elements=['feTurbulence']),
|
||||||
DefaultAttribute('surfaceScale', 1, elements=['feDiffuseLighting', 'feSpecularLighting']),
|
DefaultAttribute('surfaceScale', 1, elements=['feDiffuseLighting', 'feSpecularLighting']),
|
||||||
DefaultAttribute('type', 'matrix', elements='feColorMatrix'),
|
DefaultAttribute('type', 'matrix', elements=['feColorMatrix']),
|
||||||
DefaultAttribute('type', 'turbulence', elements='feTurbulence'),
|
DefaultAttribute('type', 'turbulence', elements=['feTurbulence']),
|
||||||
DefaultAttribute('xChannelSelector', 'A', elements='feDisplacementMap'),
|
DefaultAttribute('xChannelSelector', 'A', elements=['feDisplacementMap']),
|
||||||
DefaultAttribute('yChannelSelector', 'A', elements='feDisplacementMap')
|
DefaultAttribute('yChannelSelector', 'A', elements=['feDisplacementMap'])
|
||||||
]
|
]
|
||||||
|
|
||||||
default_attributes_restricted_by_tag = defaultdict(list)
|
default_attributes_restricted_by_tag = defaultdict(list)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue