reset cache when permissive is added

This commit is contained in:
Emmanuel Garette 2017-04-20 11:20:37 +02:00
parent 9a5b8a5f63
commit 6ca3e236f9
4 changed files with 175 additions and 152 deletions

View file

@ -4,7 +4,7 @@ do_autopath()
from py.test import raises
from tiramisu.option import IntOption, OptionDescription
from tiramisu.option import IntOption, UnicodeOption, OptionDescription
from tiramisu.config import Config
from tiramisu.error import PropertiesOptionError
@ -199,3 +199,16 @@ def test_invalid_option_permissive():
setting = config.cfgimpl_get_settings()
config.read_write()
raises(TypeError, "setting.setpermissive(['frozen', 'disabled',], u1)")
def test_remove_option_permissive():
var1 = UnicodeOption('var1', '', u'value', properties=('hidden',))
od1 = OptionDescription('od1', '', [var1])
rootod = OptionDescription('rootod', '', [od1])
config = Config(rootod)
config.read_write()
raises(PropertiesOptionError, "config.od1.var1")
config.cfgimpl_get_settings().setpermissive(('hidden',), var1)
assert config.od1.var1 == u'value'
config.cfgimpl_get_settings().setpermissive(tuple(), var1)
raises(PropertiesOptionError, "config.od1.var1")

View file

@ -303,6 +303,9 @@ class Property(object):
def __repr__(self):
return str(list(self._properties))
def get(self):
return tuple(self._properties)
#____________________________________________________________
class Settings(object):
@ -505,7 +508,7 @@ class Settings(object):
opt_type = 'option'
if 'frozen' in properties:
return PropertiesOptionError(_('cannot change the value for '
'option {0} this option is'
'option "{0}" this option is'
' frozen').format(
opt_or_descr.impl_getname()),
props, self, datas, opt_type)
@ -538,6 +541,7 @@ class Settings(object):
if not isinstance(permissive, tuple): # pragma: optional cover
raise TypeError(_('permissive must be a tuple'))
self._p_.setpermissive(path, permissive)
self._getcontext().cfgimpl_reset_cache()
#____________________________________________________________
def setowner(self, owner):

View file

@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Tiramisu\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-02-12 10:35+0100\n"
"POT-Creation-Date: 2017-04-20 10:15+0200\n"
"PO-Revision-Date: \n"
"Last-Translator: Emmanuel Garette <egarette@cadoles.com>\n"
"Language-Team: Tiramisu's team <egarette@cadoles.com>\n"
@ -10,7 +10,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.8.11\n"
"X-Generator: Poedit 1.8.12\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Poedit-SourceCharset: UTF-8\n"
@ -47,8 +47,8 @@ msgstr "descr doit être une optiondescription pas un {0}"
msgid "unknown group_type: {0}"
msgstr "group_type inconnu: {0}"
#: tiramisu/config.py:187 tiramisu/setting.py:335 tiramisu/value.py:54
#: tiramisu/value.py:756
#: tiramisu/config.py:187 tiramisu/setting.py:338 tiramisu/value.py:54
#: tiramisu/value.py:757
msgid "the context does not exist anymore"
msgstr "le context n'existe plus"
@ -149,11 +149,11 @@ msgstr "ou"
msgid " {} "
msgstr " {} "
#: tiramisu/error.py:81 tiramisu/setting.py:514
#: tiramisu/error.py:81 tiramisu/setting.py:517
msgid "property"
msgstr "de la propriété"
#: tiramisu/error.py:83 tiramisu/setting.py:516
#: tiramisu/error.py:83 tiramisu/setting.py:519
msgid "properties"
msgstr "des propriétés"
@ -161,7 +161,7 @@ msgstr "des propriétés"
msgid "cannot access to {0} \"{1}\" because \"{2}\" has {3} {4}"
msgstr "ne peut accéder à {0} \"{1}\" parce que \"{2}\" a {3} {4}"
#: tiramisu/error.py:92 tiramisu/setting.py:517
#: tiramisu/error.py:92 tiramisu/setting.py:520
msgid "cannot access to {0} \"{1}\" because has {2} {3}"
msgstr "ne peut accéder à l'{0} \"{1}\" a cause {2} {3}"
@ -259,7 +259,7 @@ msgstr ""
"attention, \"{0}\" peut être une option de type {1} invalide pour \"{2}\", "
"{3}"
#: tiramisu/option/baseoption.py:551 tiramisu/option/baseoption.py:665
#: tiramisu/option/baseoption.py:551 tiramisu/option/baseoption.py:671
msgid "invalid value \"{}\", this value is already in \"{}\""
msgstr "valeur invalide \"{}\", cette valeur est déjà dans \"{}\""
@ -275,7 +275,7 @@ msgstr "\"{0}\" est une valeur invalide pour l'option \"{2}\" de type {1}"
msgid "do_validation for {0}: error in value"
msgstr "do_validation for {0} : erreur dans un la valeur"
#: tiramisu/option/baseoption.py:652 tiramisu/option/baseoption.py:670
#: tiramisu/option/baseoption.py:652 tiramisu/option/baseoption.py:676
msgid "invalid value \"{0}\" for \"{1}\" which must be a list"
msgstr "valeur invalide \"{0}\" pour \"{1}\" qui doit être une liste"
@ -283,88 +283,88 @@ msgstr "valeur invalide \"{0}\" pour \"{1}\" qui doit être une liste"
msgid "invalid value \"{}\" for \"{}\" which must not be a list"
msgstr "valeur invalide \"{0}\" pour \"{1}\" qui ne doit pas être une liste"
#: tiramisu/option/baseoption.py:679
#: tiramisu/option/baseoption.py:685
msgid "invalid value \"{0}\" for \"{1}\" which must be a list of list"
msgstr "valeur invalide \"{0}\" pour \"{1}\" qui doit être une liste de liste"
#: tiramisu/option/baseoption.py:732 tiramisu/option/baseoption.py:736
#: tiramisu/option/baseoption.py:738 tiramisu/option/baseoption.py:742
msgid "cannot add consistency with submulti option"
msgstr "ne peut ajouter de test de consistence a une option submulti"
#: tiramisu/option/baseoption.py:738
#: tiramisu/option/baseoption.py:744
msgid "consistency must be set with an option"
msgstr "consistency doit être configuré avec une option"
#: tiramisu/option/baseoption.py:741 tiramisu/option/baseoption.py:748
#: tiramisu/option/baseoption.py:747 tiramisu/option/baseoption.py:754
msgid ""
"almost one option in consistency is in a dynoptiondescription but not all"
msgstr ""
"au moins une option dans le test de consistance est dans une "
"dynoptiondescription mais pas toutes"
#: tiramisu/option/baseoption.py:744
#: tiramisu/option/baseoption.py:750
msgid "option in consistency must be in same dynoptiondescription"
msgstr ""
"option dans une consistency doit être dans le même dynoptiondescription"
#: tiramisu/option/baseoption.py:751
#: tiramisu/option/baseoption.py:757
msgid "cannot add consistency with itself"
msgstr "ne peut ajouter une consistency avec lui même"
#: tiramisu/option/baseoption.py:753
#: tiramisu/option/baseoption.py:759
msgid "every options in consistency must be multi or none"
msgstr ""
"toutes les options d'une consistency doivent être multi ou ne pas l'être"
#: tiramisu/option/baseoption.py:770
#: tiramisu/option/baseoption.py:777
msgid "'{0}' ({1}) cannot add consistency, option is read-only"
msgstr ""
"'{0}' ({1}) ne peut ajouter de consistency, l'option est en lecture seul"
#: tiramisu/option/baseoption.py:777
#: tiramisu/option/baseoption.py:784
msgid "consistency {0} not available for this option"
msgstr "consistency {0} non valable pour cette option"
#: tiramisu/option/baseoption.py:781
#: tiramisu/option/baseoption.py:788
msgid "unknow parameter {0} in consistency"
msgstr "paramètre inconnu {0} dans un test de consistance"
#: tiramisu/option/baseoption.py:845
#: tiramisu/option/baseoption.py:853
msgid "_cons_not_equal: {} are not different"
msgstr "_cons_not_equal: {} sont différents"
#: tiramisu/option/baseoption.py:848
#: tiramisu/option/baseoption.py:856
msgid "should be different from the value of {}"
msgstr "devrait être différent de la valeur de {}"
#: tiramisu/option/baseoption.py:850
#: tiramisu/option/baseoption.py:858
msgid "must be different from the value of {}"
msgstr "doit être différent de la valeur de {}"
#: tiramisu/option/baseoption.py:853
#: tiramisu/option/baseoption.py:861
msgid "value for {} should be different"
msgstr "valeur pour {} devrait être différent"
#: tiramisu/option/baseoption.py:855
#: tiramisu/option/baseoption.py:863
msgid "value for {} must be different"
msgstr "valeur pour {} doit être différent"
#: tiramisu/option/baseoption.py:914
#: tiramisu/option/baseoption.py:922
msgid "default value not allowed if option: {0} is calculated"
msgstr "la valeur par défaut n'est pas possible si l'option {0} est calculée"
#: tiramisu/option/baseoption.py:934
#: tiramisu/option/baseoption.py:942
msgid "malformed requirements type for option: {0}, must be a dict"
msgstr ""
"type requirements malformé pour l'option : {0}, doit être un dictionnaire"
#: tiramisu/option/baseoption.py:940
#: tiramisu/option/baseoption.py:948
msgid "malformed requirements for option: {0} unknown keys {1}, must only {2}"
msgstr ""
"requirements mal formés pour l'option : {0} clefs inconnues {1}, doit "
"seulement avoir {2}"
#: tiramisu/option/baseoption.py:948
#: tiramisu/option/baseoption.py:956
msgid ""
"malformed requirements for option: {0} require must have option, expected "
"and action keys"
@ -372,33 +372,33 @@ msgstr ""
"requirements malformé pour l'option : {0} l'exigence doit avoir les clefs "
"option, expected et action"
#: tiramisu/option/baseoption.py:955
#: tiramisu/option/baseoption.py:963
msgid ""
"malformed requirements for option: {0} action cannot be force_store_value"
msgstr ""
"requirements mal formés pour l'option : {0} action ne peut pas être "
"force_store_value"
#: tiramisu/option/baseoption.py:960
#: tiramisu/option/baseoption.py:968
msgid "malformed requirements for option: {0} inverse must be boolean"
msgstr ""
"requirements mal formés pour l'option : {0} inverse doit être un booléen"
#: tiramisu/option/baseoption.py:964
#: tiramisu/option/baseoption.py:972
msgid "malformed requirements for option: {0} transitive must be boolean"
msgstr ""
"requirements mal formés pour l'option : {0} transitive doit être booléen"
#: tiramisu/option/baseoption.py:968
#: tiramisu/option/baseoption.py:976
msgid "malformed requirements for option: {0} same_action must be boolean"
msgstr ""
"requirements mal formés pour l'option : {0} same_action doit être un booléen"
#: tiramisu/option/baseoption.py:972
#: tiramisu/option/baseoption.py:980
msgid "malformed requirements must be an option in option {0}"
msgstr "requirements mal formés doit être une option dans l'option {0}"
#: tiramisu/option/baseoption.py:975
#: tiramisu/option/baseoption.py:983
msgid ""
"malformed requirements multi option must not set as requires of non multi "
"option {0}"
@ -406,12 +406,12 @@ msgstr ""
"requirements mal formés une option multiple ne doit pas être spécifié comme "
"pré-requis à l'option non multiple {0}"
#: tiramisu/option/baseoption.py:981
#: tiramisu/option/baseoption.py:989
msgid "malformed requirements expected value must be valid for option {0}: {1}"
msgstr ""
"valeur de \"expected\" malformé, doit être valide pour l'option {0} : {1}"
#: tiramisu/option/baseoption.py:1011
#: tiramisu/option/baseoption.py:1019
msgid "malformed symlinkoption must be an option for symlink {0}"
msgstr "symlinkoption mal formé, doit être une option pour symlink {0}"
@ -591,63 +591,63 @@ msgstr "allow_ip doit être un booléen"
msgid "allow_without_dot must be a boolean"
msgstr "allow_without_dot doit être un booléen"
#: tiramisu/option/option.py:490
#: tiramisu/option/option.py:510
msgid "invalid length (min 1)"
msgstr "longueur invalide (min 1)"
#: tiramisu/option/option.py:492
#: tiramisu/option/option.py:512
msgid "invalid length (max {0})"
msgstr "longueur invalide (max {0})"
#: tiramisu/option/option.py:507
#: tiramisu/option/option.py:527
msgid "must not be an IP"
msgstr "ne doit pas être une IP"
#: tiramisu/option/option.py:514
#: tiramisu/option/option.py:531
msgid "must have dot"
msgstr "doit avec un point"
#: tiramisu/option/option.py:516
#: tiramisu/option/option.py:533
msgid "invalid length (max 255)"
msgstr "longueur invalide (max 255)"
#: tiramisu/option/option.py:527
#: tiramisu/option/option.py:543
msgid "some characters are uppercase"
msgstr "des caractères sont en majuscule"
#: tiramisu/option/option.py:530
#: tiramisu/option/option.py:546
msgid "some characters may cause problems"
msgstr "des caractères peuvent poser problèmes"
#: tiramisu/option/option.py:551
#: tiramisu/option/option.py:555
msgid "URL"
msgstr "URL"
#: tiramisu/option/option.py:559
#: tiramisu/option/option.py:563
msgid "must start with http:// or https://"
msgstr "doit débuter par http:// ou https://"
#: tiramisu/option/option.py:577
#: tiramisu/option/option.py:581
msgid "port must be an between 0 and 65536"
msgstr "port doit être entre 0 et 65536"
#: tiramisu/option/option.py:588
#: tiramisu/option/option.py:592
msgid "must ends with a valid resource name"
msgstr "doit finir par un nom de ressource valide"
#: tiramisu/option/option.py:609
#: tiramisu/option/option.py:613
msgid "email address"
msgstr "adresse mail"
#: tiramisu/option/option.py:616
#: tiramisu/option/option.py:620
msgid "username"
msgstr "nom d'utilisateur"
#: tiramisu/option/option.py:622
#: tiramisu/option/option.py:626
msgid "file name"
msgstr "nom de fichier"
#: tiramisu/option/option.py:627
#: tiramisu/option/option.py:631
msgid "date"
msgstr "date"
@ -767,37 +767,38 @@ msgstr ""
"ne peut ajouter la propriété {0} dans l'option {1}: cette propriété est "
"calculée"
#: tiramisu/setting.py:269 tiramisu/setting.py:435
#: tiramisu/setting.py:269 tiramisu/setting.py:438
msgid "cannot add those properties: {0}"
msgstr "ne peut pas ajouter ces propriétés : {0}"
#: tiramisu/setting.py:358
#: tiramisu/setting.py:361
msgid "you should only append/remove properties"
msgstr "pour pouvait seulement ajouter/supprimer des propriétés"
#: tiramisu/setting.py:362
#: tiramisu/setting.py:365
msgid "opt and all_properties must not be set together in reset"
msgstr "opt et all_properties ne doit pas être renseigné ensemble dans reset"
#: tiramisu/setting.py:383
#: tiramisu/setting.py:386
msgid "if opt is not None, path should not be None in _getproperties"
msgstr ""
"si opt n'est pas None, path devrait ne pas être à None dans _getproperties"
#: tiramisu/setting.py:507
msgid "cannot change the value for option {0} this option is frozen"
#: tiramisu/setting.py:510
msgid "cannot change the value for option \"{0}\" this option is frozen"
msgstr ""
"ne peut modifier la valeur de l'option {0} cette option n'est pas modifiable"
"ne peut modifier la valeur de l'option \"{0}\" cette option n'est pas "
"modifiable"
#: tiramisu/setting.py:539
#: tiramisu/setting.py:542
msgid "permissive must be a tuple"
msgstr "permissive doit être un tuple"
#: tiramisu/setting.py:546 tiramisu/value.py:546
#: tiramisu/setting.py:549 tiramisu/value.py:549
msgid "invalid generic owner {0}"
msgstr "invalide owner générique {0}"
#: tiramisu/setting.py:647
#: tiramisu/setting.py:650
msgid ""
"malformed requirements imbrication detected for option: '{0}' with "
"requirement on: '{1}'"
@ -805,15 +806,15 @@ msgstr ""
"imbrication de requirements mal formés detectée pour l'option : '{0}' avec "
"requirement sur : '{1}'"
#: tiramisu/setting.py:672
#: tiramisu/setting.py:675
msgid "option '{0}' has requirement's property error: {1} {2}"
msgstr "l'option '{0}' a une erreur de propriété pour le requirement : {1} {2}"
#: tiramisu/setting.py:694
#: tiramisu/setting.py:697
msgid "the value of \"{0}\" is \"{1}\""
msgstr "la valeur de \"{0}\" est \"{1}\""
#: tiramisu/setting.py:696
#: tiramisu/setting.py:699
msgid "the value of \"{0}\" is not \"{1}\""
msgstr "la valeur de \"{0}\" n'est pas \"{1}\""
@ -891,55 +892,60 @@ msgstr "un espace de stockage dictionary ne peut être persistant"
msgid "information's item not found {0}"
msgstr "l'information de l'objet ne sont pas trouvé {0}"
#: tiramisu/value.py:395
#: tiramisu/value.py:397
msgid "you should only set value with config"
msgstr "vous devez seul affecter une valeur avec un config"
#: tiramisu/value.py:507
#: tiramisu/value.py:509
msgid "owner only avalaible for an option"
msgstr "owner seulement possible pour une option"
#: tiramisu/value.py:551
#: tiramisu/value.py:554
msgid "no value for {0} cannot change owner to {1}"
msgstr "pas de valeur pour {0} ne peut changer d'utilisateur pour {1}"
#: tiramisu/value.py:685
#: tiramisu/value.py:686
msgid "can force cache only if cache is actived in config"
msgstr ""
"peut force la mise en cache seulement si le cache est activé dans la config"
#: tiramisu/value.py:722
#: tiramisu/value.py:723
msgid "{0} is already a Multi "
msgstr "{0} est déjà une Multi"
#: tiramisu/value.py:802
#: tiramisu/value.py:806
msgid "cannot append a value on a multi option {0} which is a slave"
msgstr "ne peut ajouter une valeur sur l'option multi {0} qui est une esclave"
#: tiramisu/value.py:835
#: tiramisu/value.py:839
msgid "cannot sort multi option {0} if master or slave"
msgstr "ne peut trier une option multi {0} pour une maître ou une esclave"
#: tiramisu/value.py:839
#: tiramisu/value.py:843
msgid "cmp is not permitted in python v3 or greater"
msgstr "cmp n'est pas permis en python v3 ou supérieure"
#: tiramisu/value.py:848
#: tiramisu/value.py:852
msgid "cannot reverse multi option {0} if master or slave"
msgstr "ne peut inverser une option multi {0} pour une maître ou une esclave"
#: tiramisu/value.py:855
#: tiramisu/value.py:859
msgid "cannot insert multi option {0} if master or slave"
msgstr "ne peut insérer une option multi {0} pour une maître ou une esclave"
#: tiramisu/value.py:872
#: tiramisu/value.py:876
msgid "cannot extend multi option {0} if master or slave"
msgstr "ne peut étendre une option multi {0} pour une maître ou une esclave"
#: tiramisu/value.py:912
#: tiramisu/value.py:916
msgid "cannot pop a value on a multi option {0} which is a slave"
msgstr "ne peut supprimer une valeur dans l'option multi {0} qui est esclave"
#~ msgid "cannot change the value for option {0} this option is frozen"
#~ msgstr ""
#~ "ne peut modifier la valeur de l'option {0} cette option n'est pas "
#~ "modifiable"
#~ msgid "function \"{0}\" returns \"{1}\" for option \"{2}\""
#~ msgstr "la fonction \"{0}\" retourne \"{1}\" pour l'option \"{2}\""

View file

@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2017-02-12 10:34+CET\n"
"POT-Creation-Date: 2017-04-20 10:15+CEST\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -39,8 +39,8 @@ msgstr ""
msgid "unknown group_type: {0}"
msgstr ""
#: tiramisu/config.py:187 tiramisu/setting.py:335 tiramisu/value.py:54
#: tiramisu/value.py:756
#: tiramisu/config.py:187 tiramisu/setting.py:338 tiramisu/value.py:54
#: tiramisu/value.py:757
msgid "the context does not exist anymore"
msgstr ""
@ -132,11 +132,11 @@ msgstr ""
msgid " {} "
msgstr ""
#: tiramisu/error.py:81 tiramisu/setting.py:514
#: tiramisu/error.py:81 tiramisu/setting.py:517
msgid "property"
msgstr ""
#: tiramisu/error.py:83 tiramisu/setting.py:516
#: tiramisu/error.py:83 tiramisu/setting.py:519
msgid "properties"
msgstr ""
@ -144,7 +144,7 @@ msgstr ""
msgid "cannot access to {0} \"{1}\" because \"{2}\" has {3} {4}"
msgstr ""
#: tiramisu/error.py:92 tiramisu/setting.py:517
#: tiramisu/error.py:92 tiramisu/setting.py:520
msgid "cannot access to {0} \"{1}\" because has {2} {3}"
msgstr ""
@ -232,7 +232,7 @@ msgstr ""
msgid "attention, \"{0}\" could be an invalid {1} for \"{2}\", {3}"
msgstr ""
#: tiramisu/option/baseoption.py:551 tiramisu/option/baseoption.py:665
#: tiramisu/option/baseoption.py:551 tiramisu/option/baseoption.py:671
msgid "invalid value \"{}\", this value is already in \"{}\""
msgstr ""
@ -248,7 +248,7 @@ msgstr ""
msgid "do_validation for {0}: error in value"
msgstr ""
#: tiramisu/option/baseoption.py:652 tiramisu/option/baseoption.py:670
#: tiramisu/option/baseoption.py:652 tiramisu/option/baseoption.py:676
msgid "invalid value \"{0}\" for \"{1}\" which must be a list"
msgstr ""
@ -256,111 +256,111 @@ msgstr ""
msgid "invalid value \"{}\" for \"{}\" which must not be a list"
msgstr ""
#: tiramisu/option/baseoption.py:679
#: tiramisu/option/baseoption.py:685
msgid "invalid value \"{0}\" for \"{1}\" which must be a list of list"
msgstr ""
#: tiramisu/option/baseoption.py:732 tiramisu/option/baseoption.py:736
#: tiramisu/option/baseoption.py:738 tiramisu/option/baseoption.py:742
msgid "cannot add consistency with submulti option"
msgstr ""
#: tiramisu/option/baseoption.py:738
#: tiramisu/option/baseoption.py:744
msgid "consistency must be set with an option"
msgstr ""
#: tiramisu/option/baseoption.py:741 tiramisu/option/baseoption.py:748
#: tiramisu/option/baseoption.py:747 tiramisu/option/baseoption.py:754
msgid "almost one option in consistency is in a dynoptiondescription but not all"
msgstr ""
#: tiramisu/option/baseoption.py:744
#: tiramisu/option/baseoption.py:750
msgid "option in consistency must be in same dynoptiondescription"
msgstr ""
#: tiramisu/option/baseoption.py:751
#: tiramisu/option/baseoption.py:757
msgid "cannot add consistency with itself"
msgstr ""
#: tiramisu/option/baseoption.py:753
#: tiramisu/option/baseoption.py:759
msgid "every options in consistency must be multi or none"
msgstr ""
#: tiramisu/option/baseoption.py:770
#: tiramisu/option/baseoption.py:777
msgid "'{0}' ({1}) cannot add consistency, option is read-only"
msgstr ""
#: tiramisu/option/baseoption.py:777
#: tiramisu/option/baseoption.py:784
msgid "consistency {0} not available for this option"
msgstr ""
#: tiramisu/option/baseoption.py:781
#: tiramisu/option/baseoption.py:788
msgid "unknow parameter {0} in consistency"
msgstr ""
#: tiramisu/option/baseoption.py:845
#: tiramisu/option/baseoption.py:853
msgid "_cons_not_equal: {} are not different"
msgstr ""
#: tiramisu/option/baseoption.py:848
#: tiramisu/option/baseoption.py:856
msgid "should be different from the value of {}"
msgstr ""
#: tiramisu/option/baseoption.py:850
#: tiramisu/option/baseoption.py:858
msgid "must be different from the value of {}"
msgstr ""
#: tiramisu/option/baseoption.py:853
#: tiramisu/option/baseoption.py:861
msgid "value for {} should be different"
msgstr ""
#: tiramisu/option/baseoption.py:855
#: tiramisu/option/baseoption.py:863
msgid "value for {} must be different"
msgstr ""
#: tiramisu/option/baseoption.py:914
#: tiramisu/option/baseoption.py:922
msgid "default value not allowed if option: {0} is calculated"
msgstr ""
#: tiramisu/option/baseoption.py:934
#: tiramisu/option/baseoption.py:942
msgid "malformed requirements type for option: {0}, must be a dict"
msgstr ""
#: tiramisu/option/baseoption.py:940
#: tiramisu/option/baseoption.py:948
msgid "malformed requirements for option: {0} unknown keys {1}, must only {2}"
msgstr ""
#: tiramisu/option/baseoption.py:948
#: tiramisu/option/baseoption.py:956
msgid "malformed requirements for option: {0} require must have option, expected and action keys"
msgstr ""
#: tiramisu/option/baseoption.py:955
#: tiramisu/option/baseoption.py:963
msgid "malformed requirements for option: {0} action cannot be force_store_value"
msgstr ""
#: tiramisu/option/baseoption.py:960
#: tiramisu/option/baseoption.py:968
msgid "malformed requirements for option: {0} inverse must be boolean"
msgstr ""
#: tiramisu/option/baseoption.py:964
#: tiramisu/option/baseoption.py:972
msgid "malformed requirements for option: {0} transitive must be boolean"
msgstr ""
#: tiramisu/option/baseoption.py:968
#: tiramisu/option/baseoption.py:976
msgid "malformed requirements for option: {0} same_action must be boolean"
msgstr ""
#: tiramisu/option/baseoption.py:972
#: tiramisu/option/baseoption.py:980
msgid "malformed requirements must be an option in option {0}"
msgstr ""
#: tiramisu/option/baseoption.py:975
#: tiramisu/option/baseoption.py:983
msgid "malformed requirements multi option must not set as requires of non multi option {0}"
msgstr ""
#: tiramisu/option/baseoption.py:981
#: tiramisu/option/baseoption.py:989
msgid "malformed requirements expected value must be valid for option {0}: {1}"
msgstr ""
#: tiramisu/option/baseoption.py:1011
#: tiramisu/option/baseoption.py:1019
msgid "malformed symlinkoption must be an option for symlink {0}"
msgstr ""
@ -536,63 +536,63 @@ msgstr ""
msgid "allow_without_dot must be a boolean"
msgstr ""
#: tiramisu/option/option.py:490
#: tiramisu/option/option.py:510
msgid "invalid length (min 1)"
msgstr ""
#: tiramisu/option/option.py:492
#: tiramisu/option/option.py:512
msgid "invalid length (max {0})"
msgstr ""
#: tiramisu/option/option.py:507
#: tiramisu/option/option.py:527
msgid "must not be an IP"
msgstr ""
#: tiramisu/option/option.py:514
#: tiramisu/option/option.py:531
msgid "must have dot"
msgstr ""
#: tiramisu/option/option.py:516
#: tiramisu/option/option.py:533
msgid "invalid length (max 255)"
msgstr ""
#: tiramisu/option/option.py:527
#: tiramisu/option/option.py:543
msgid "some characters are uppercase"
msgstr ""
#: tiramisu/option/option.py:530
#: tiramisu/option/option.py:546
msgid "some characters may cause problems"
msgstr ""
#: tiramisu/option/option.py:551
#: tiramisu/option/option.py:555
msgid "URL"
msgstr ""
#: tiramisu/option/option.py:559
#: tiramisu/option/option.py:563
msgid "must start with http:// or https://"
msgstr ""
#: tiramisu/option/option.py:577
#: tiramisu/option/option.py:581
msgid "port must be an between 0 and 65536"
msgstr ""
#: tiramisu/option/option.py:588
#: tiramisu/option/option.py:592
msgid "must ends with a valid resource name"
msgstr ""
#: tiramisu/option/option.py:609
#: tiramisu/option/option.py:613
msgid "email address"
msgstr ""
#: tiramisu/option/option.py:616
#: tiramisu/option/option.py:620
msgid "username"
msgstr ""
#: tiramisu/option/option.py:622
#: tiramisu/option/option.py:626
msgid "file name"
msgstr ""
#: tiramisu/option/option.py:627
#: tiramisu/option/option.py:631
msgid "date"
msgstr ""
@ -697,47 +697,47 @@ msgstr ""
msgid "cannot append {0} property for option {1}: this property is calculated"
msgstr ""
#: tiramisu/setting.py:269 tiramisu/setting.py:435
#: tiramisu/setting.py:269 tiramisu/setting.py:438
msgid "cannot add those properties: {0}"
msgstr ""
#: tiramisu/setting.py:358
#: tiramisu/setting.py:361
msgid "you should only append/remove properties"
msgstr ""
#: tiramisu/setting.py:362
#: tiramisu/setting.py:365
msgid "opt and all_properties must not be set together in reset"
msgstr ""
#: tiramisu/setting.py:383
#: tiramisu/setting.py:386
msgid "if opt is not None, path should not be None in _getproperties"
msgstr ""
#: tiramisu/setting.py:507
msgid "cannot change the value for option {0} this option is frozen"
#: tiramisu/setting.py:510
msgid "cannot change the value for option \"{0}\" this option is frozen"
msgstr ""
#: tiramisu/setting.py:539
#: tiramisu/setting.py:542
msgid "permissive must be a tuple"
msgstr ""
#: tiramisu/setting.py:546 tiramisu/value.py:546
#: tiramisu/setting.py:549 tiramisu/value.py:549
msgid "invalid generic owner {0}"
msgstr ""
#: tiramisu/setting.py:647
#: tiramisu/setting.py:650
msgid "malformed requirements imbrication detected for option: '{0}' with requirement on: '{1}'"
msgstr ""
#: tiramisu/setting.py:672
#: tiramisu/setting.py:675
msgid "option '{0}' has requirement's property error: {1} {2}"
msgstr ""
#: tiramisu/setting.py:694
#: tiramisu/setting.py:697
msgid "the value of \"{0}\" is \"{1}\""
msgstr ""
#: tiramisu/setting.py:696
#: tiramisu/setting.py:699
msgid "the value of \"{0}\" is not \"{1}\""
msgstr ""
@ -813,51 +813,51 @@ msgstr ""
msgid "information's item not found {0}"
msgstr ""
#: tiramisu/value.py:395
#: tiramisu/value.py:397
msgid "you should only set value with config"
msgstr ""
#: tiramisu/value.py:507
#: tiramisu/value.py:509
msgid "owner only avalaible for an option"
msgstr ""
#: tiramisu/value.py:551
#: tiramisu/value.py:554
msgid "no value for {0} cannot change owner to {1}"
msgstr ""
#: tiramisu/value.py:685
#: tiramisu/value.py:686
msgid "can force cache only if cache is actived in config"
msgstr ""
#: tiramisu/value.py:722
#: tiramisu/value.py:723
msgid "{0} is already a Multi "
msgstr ""
#: tiramisu/value.py:802
#: tiramisu/value.py:806
msgid "cannot append a value on a multi option {0} which is a slave"
msgstr ""
#: tiramisu/value.py:835
#: tiramisu/value.py:839
msgid "cannot sort multi option {0} if master or slave"
msgstr ""
#: tiramisu/value.py:839
#: tiramisu/value.py:843
msgid "cmp is not permitted in python v3 or greater"
msgstr ""
#: tiramisu/value.py:848
#: tiramisu/value.py:852
msgid "cannot reverse multi option {0} if master or slave"
msgstr ""
#: tiramisu/value.py:855
#: tiramisu/value.py:859
msgid "cannot insert multi option {0} if master or slave"
msgstr ""
#: tiramisu/value.py:872
#: tiramisu/value.py:876
msgid "cannot extend multi option {0} if master or slave"
msgstr ""
#: tiramisu/value.py:912
#: tiramisu/value.py:916
msgid "cannot pop a value on a multi option {0} which is a slave"
msgstr ""