943acbc573
Durcit la convention de nommage des projets (dérive constatée : 'Sliding Automation', 'code_versioning'... au lieu des formes canoniques). - trilium_api.py : projets_canoniques() lit le référentiel = valeurs du label projet sur les notes de type=projet (source unique, pas de constante en dur). Note-projet CodeVersioning créée (manquait). - mcp_server.py : _valider_projet() branché dans les 6 tools de création (add_decision/history/backlog, new_conversation, create_entite, add_skill). Refuse un projet non canonique (suggestion si faute) ou inconnu (renvoi au processus de création de projet). Ne verrouille pas si référentiel illisible. - lint_audit.py : VAL-nommage aligné sur le référentiel (attrape casse, espace ET snake_case ; l'ancien 'contient un espace' ratait code_versioning). - Données : 79 notes ré-étiquetées vers les 3 formes canoniques. Quality by design : l'erreur de nommage devient impossible à l'écriture, le Lint n'est plus que le filet de sécurité.
51 lines
1.9 KiB
Python
51 lines
1.9 KiB
Python
#!/usr/bin/env python
|
|
#coding:utf-8
|
|
# Author: mozman --<mozman@gmx.at>
|
|
# Purpose: pattern module
|
|
# Created: 29.10.2010
|
|
# Copyright (C) 2010, Manfred Moitzi
|
|
# License: MIT License
|
|
|
|
from svgwrite.base import BaseElement
|
|
from svgwrite.mixins import XLink, ViewBox, Transform, Presentation
|
|
from svgwrite.utils import is_string
|
|
|
|
class Pattern(BaseElement, XLink, ViewBox, Transform, Presentation):
|
|
"""
|
|
A pattern is used to fill or stroke an object using a pre-defined graphic
|
|
object which can be replicated ("tiled") at fixed intervals in x and y to
|
|
cover the areas to be painted. Patterns are defined using a `pattern` element
|
|
and then referenced by properties `fill` and `stroke` on a given graphics
|
|
element to indicate that the given element shall be filled or stroked with
|
|
the referenced pattern.
|
|
"""
|
|
elementname = 'pattern'
|
|
transformname = 'patternTransform'
|
|
|
|
def __init__(self, insert=None, size=None, inherit=None, **extra):
|
|
"""
|
|
:param 2-tuple insert: base point of the pattern (**x**, **y**)
|
|
:param 2-tuple size: size of the pattern (**width**, **height**)
|
|
:param inherit: pattern inherits properties from `inherit` see: **xlink:href**
|
|
|
|
"""
|
|
super(Pattern, self).__init__(**extra)
|
|
if insert is not None:
|
|
self['x'] = insert[0]
|
|
self['y'] = insert[1]
|
|
if size is not None:
|
|
self['width'] = size[0]
|
|
self['height'] = size[1]
|
|
if inherit is not None:
|
|
if is_string(inherit):
|
|
self.set_href(inherit)
|
|
else:
|
|
self.set_href(inherit.get_iri())
|
|
|
|
if self.debug:
|
|
self.validator.check_all_svg_attribute_values(self.elementname, self.attribs)
|
|
|
|
def get_paint_server(self, default='none'):
|
|
""" Returns the <FuncIRI> of the gradient. """
|
|
return "%s %s" % (self.get_funciri(), default)
|