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é.
72 lines
1.9 KiB
Python
72 lines
1.9 KiB
Python
#!/usr/bin/env python
|
|
#coding:utf-8
|
|
# Author: mozman
|
|
# Purpose: svgwrite package parameter
|
|
# Created: 10.09.2010
|
|
# Copyright (C) 2010, Manfred Moitzi
|
|
# License: MIT License
|
|
|
|
from svgwrite.validator2 import get_validator
|
|
|
|
|
|
class Parameter(object):
|
|
"""
|
|
.. attribute:: Parameter.debug
|
|
|
|
*read/write* property
|
|
|
|
* *True* : debug mode is on, all SVG attributes are checked if valid
|
|
in the element context. Also the included SVG subelements will be
|
|
checked if they are valid for the parent SVG element.
|
|
|
|
* *False*: no validation checks will be done, but program execution is
|
|
faster.
|
|
|
|
.. attribute:: Parameter.profile
|
|
|
|
*read/write* property
|
|
|
|
name of the SVG profile, valid profiles are: ``'full|basic|tiny'``
|
|
"""
|
|
__slots__ = ['_debug', 'validator', '_profile']
|
|
|
|
def __init__(self, debug=True, profile='full'):
|
|
self._debug = debug
|
|
self.profile = profile
|
|
|
|
def _init_validator(self):
|
|
self.validator = get_validator(self.profile, self.debug)
|
|
|
|
@property
|
|
def debug(self):
|
|
return self._debug
|
|
|
|
@debug.setter
|
|
def debug(self, debug):
|
|
self._debug = debug
|
|
self._init_validator()
|
|
|
|
def get_version(self):
|
|
if self._profile == 'tiny':
|
|
return '1.2'
|
|
else:
|
|
return '1.1'
|
|
|
|
@property
|
|
def profile(self):
|
|
return self._profile
|
|
|
|
@profile.setter
|
|
def profile(self, profile):
|
|
"""
|
|
:param string profile: name of the SVG profile, valid profiles are:
|
|
``'full|basic|tiny'``
|
|
|
|
"""
|
|
profile = profile.lower()
|
|
if profile in ('tiny', 'basic', 'full'):
|
|
self._profile = profile
|
|
self._init_validator()
|
|
else:
|
|
raise ValueError("'%s' is not a valid profile." % profile)
|