File: //proc/self/root/opt/cloudlinux/venv/lib/python3.11/site-packages/svgwrite/params.py
#!/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)