need new settings when create fake_config
This commit is contained in:
parent
9da7e89176
commit
5ea92d3460
9 changed files with 259 additions and 247 deletions
|
@ -159,7 +159,6 @@ def test_information_config():
|
|||
assert config.impl_get_information('noinfo', 'default') == 'default'
|
||||
|
||||
|
||||
#FIXME test impl_get_xxx pour OD ou ne pas cacher
|
||||
def test_config_impl_get_path_by_opt():
|
||||
descr = make_description()
|
||||
config = Config(descr)
|
||||
|
@ -172,6 +171,14 @@ def test_config_impl_get_path_by_opt():
|
|||
raises(AttributeError, "config.cfgimpl_get_description().impl_get_path_by_opt(unknown)")
|
||||
|
||||
|
||||
def test_config_impl_get_path_by_opt_od():
|
||||
descr = make_description()
|
||||
config = Config(descr)
|
||||
dummy = config.unwrap_from_path('gc.dummy')
|
||||
dummy
|
||||
raises(ConfigError, "config.cfgimpl_get_description().gc.impl_get_path_by_opt(dummy)")
|
||||
|
||||
|
||||
def test_config_impl_get_opt_by_path():
|
||||
descr = make_description()
|
||||
config = Config(descr)
|
||||
|
|
|
@ -37,32 +37,6 @@ def make_description():
|
|||
return descr
|
||||
|
||||
|
||||
#FIXME
|
||||
#def test_compare_configs():
|
||||
# "config object comparison"
|
||||
# descr = make_description()
|
||||
# conf1 = Config(descr)
|
||||
# conf2 = Config(descr)
|
||||
# conf2.wantref = True
|
||||
# assert conf1 != conf2
|
||||
# assert hash(conf1) != hash(conf2)
|
||||
# #assert conf1.getkey() != conf2.getkey()
|
||||
# conf1.wantref = True
|
||||
# assert conf1 == conf2
|
||||
# assert hash(conf1) == hash(conf2)
|
||||
# #assert conf1.getkey() == conf2.getkey()
|
||||
# conf2.gc.dummy = True
|
||||
# assert conf1 != conf2
|
||||
# assert hash(conf1) != hash(conf2)
|
||||
# #assert conf1.getkey() != conf2.getkey()
|
||||
# conf1.gc.dummy = True
|
||||
# assert conf1 == conf2
|
||||
# assert hash(conf1) == hash(conf2)
|
||||
# assert not conf1 == 'conf2'
|
||||
# assert conf1 != 'conf2'
|
||||
# ____________________________________________________________
|
||||
|
||||
|
||||
def test_iter_config():
|
||||
"iteration on config object"
|
||||
s = StrOption("string", "", default="string")
|
||||
|
@ -304,3 +278,19 @@ def test_invalid_option():
|
|||
raises(ValueError, "DomainnameOption('a', '', allow_ip='string')")
|
||||
raises(ValueError, "DomainnameOption('a', '', allow_without_dot='string')")
|
||||
raises(ValueError, "DomainnameOption('a', '', 1)")
|
||||
#
|
||||
ChoiceOption('a', '', (1,), multi=True, default_multi=1)
|
||||
raises(ValueError, "ChoiceOption('a', '', (1,), default_multi=1)")
|
||||
raises(ValueError, "ChoiceOption('a', '', (1,), multi=True, default=[1,], default_multi=2)")
|
||||
raises(ValueError, "FloatOption('a', '', multi=True, default_multi='string')")
|
||||
raises(ValueError, "UnicodeOption('a', '', multi=True, default_multi=1)")
|
||||
raises(ValueError, "IPOption('a', '', multi=True, default_multi=1)")
|
||||
raises(ValueError, "IPOption('a', '', multi=True, default_multi='string')")
|
||||
raises(ValueError, "PortOption('a', '', multi=True, default_multi='string')")
|
||||
raises(ValueError, "PortOption('a', '', multi=True, default_multi='11:12:13', allow_range=True)")
|
||||
raises(ValueError, "PortOption('a', '', multi=True, default_multi=11111111111111111111)")
|
||||
raises(ValueError, "NetworkOption('a', '', multi=True, default_multi='string')")
|
||||
raises(ValueError, "NetmaskOption('a', '', multi=True, default_multi='string')")
|
||||
raises(ValueError, "BroadcastOption('a', '', multi=True, default_multi='string')")
|
||||
raises(ValueError, "DomainnameOption('a', '', multi=True, default_multi='string')")
|
||||
raises(ValueError, "DomainnameOption('a', '', multi=True, default_multi=1)")
|
||||
|
|
|
@ -30,8 +30,6 @@ def return_if_val(value):
|
|||
raise ValueError('error')
|
||||
|
||||
|
||||
#FIXME il y a une validation sur default_multi ?
|
||||
|
||||
def test_validator():
|
||||
opt1 = StrOption('opt1', '', validator=return_true, default='val')
|
||||
raises(ValueError, "StrOption('opt2', '', validator=return_false, default='val')")
|
||||
|
@ -62,6 +60,7 @@ def test_validator_params_key():
|
|||
|
||||
def test_validator_params_option():
|
||||
opt0 = StrOption('opt0', '', default='val')
|
||||
opt0
|
||||
raises(ValueError, "opt1 = StrOption('opt1', '', validator=return_true, validator_params={'': ((opt0, False),)}, default='val')")
|
||||
|
||||
|
||||
|
|
|
@ -600,7 +600,7 @@ class _CommonConfig(SubConfig):
|
|||
|
||||
def _gen_fake_values(self):
|
||||
fake_config = Config(self._impl_descr, persistent=False,
|
||||
force_storages=get_storages_validation(),
|
||||
force_values=get_storages_validation(),
|
||||
force_settings=self.cfgimpl_get_settings())
|
||||
fake_config.cfgimpl_get_values()._p_._values = self.cfgimpl_get_values()._p_.get_modified_values()
|
||||
return fake_config
|
||||
|
@ -619,7 +619,7 @@ class Config(_CommonConfig):
|
|||
__slots__ = ('__weakref__', '_impl_test', '_impl_name')
|
||||
|
||||
def __init__(self, descr, session_id=None, persistent=False,
|
||||
name=undefined, force_storages=None, force_settings=None):
|
||||
name=undefined, force_values=None, force_settings=None):
|
||||
""" Configuration option management master class
|
||||
|
||||
:param descr: describes the configuration schema
|
||||
|
@ -632,25 +632,21 @@ class Config(_CommonConfig):
|
|||
:param persistent: if persistent, don't delete storage when leaving
|
||||
:type persistent: `boolean`
|
||||
"""
|
||||
#if force_storages is None:
|
||||
settings, values = get_storages(self, session_id, persistent,
|
||||
only_value=not force_settings is None)
|
||||
#else:
|
||||
# settings, values = force_storages
|
||||
if name is undefined:
|
||||
name = 'config'
|
||||
if session_id is not None:
|
||||
name += session_id
|
||||
if name is not None and not valid_name(name): # pragma: optional cover
|
||||
raise ValueError(_("invalid name: {0} for config").format(name))
|
||||
if force_settings is None:
|
||||
self._impl_settings = Settings(self, settings)
|
||||
else:
|
||||
if force_settings is not None and force_values is not None:
|
||||
self._impl_settings = force_settings
|
||||
self._impl_values = Values(self, values)
|
||||
self._impl_values = Values(self, force_values)
|
||||
else:
|
||||
settings, values = get_storages(self, session_id, persistent)
|
||||
if name is undefined:
|
||||
name = 'config'
|
||||
if session_id is not None:
|
||||
name += session_id
|
||||
if name is not None and not valid_name(name): # pragma: optional cover
|
||||
raise ValueError(_("invalid name: {0} for config").format(name))
|
||||
self._impl_settings = Settings(self, settings)
|
||||
self._impl_values = Values(self, values)
|
||||
super(Config, self).__init__(descr, weakref.ref(self))
|
||||
if force_settings is None:
|
||||
self._impl_build_all_caches()
|
||||
self._impl_build_all_caches()
|
||||
self._impl_meta = None
|
||||
#undocumented option used only in test script
|
||||
self._impl_test = False
|
||||
|
|
|
@ -106,6 +106,7 @@ def _impl_getstate_setting():
|
|||
def get_storage(type_, session_id, persistent, test): # pragma: optional cover
|
||||
"""all used when __setstate__ a Config
|
||||
"""
|
||||
#FIXME ca sert ???
|
||||
if type_ == 'option':
|
||||
return storage_option_type.get().Storage(session_id, persistent, test)
|
||||
elif type_ == 'config':
|
||||
|
@ -114,7 +115,7 @@ def get_storage(type_, session_id, persistent, test): # pragma: optional cover
|
|||
return storage_validation.get().Storage(session_id, persistent, test)
|
||||
|
||||
|
||||
def get_storages(context, session_id, persistent, only_value=False):
|
||||
def get_storages(context, session_id, persistent):
|
||||
def gen_id(config):
|
||||
return str(id(config)) + str(time()) + str(randint(0, 500))
|
||||
|
||||
|
@ -122,10 +123,7 @@ def get_storages(context, session_id, persistent, only_value=False):
|
|||
session_id = gen_id(context)
|
||||
imp = storage_type.get()
|
||||
storage = imp.Storage(session_id, persistent)
|
||||
if only_value:
|
||||
settings = None
|
||||
else:
|
||||
settings = imp.Settings(storage)
|
||||
settings = imp.Settings(storage)
|
||||
values = imp.Values(storage)
|
||||
try:
|
||||
return settings, values
|
||||
|
@ -143,8 +141,8 @@ def get_storages_option(type_):
|
|||
|
||||
def get_storages_validation():
|
||||
imp = storage_validation.get()
|
||||
storage = imp.Storage('pouet', persistent=False, test=True)
|
||||
return imp.Settings(storage), imp.Values(storage)
|
||||
storage = imp.Storage('__validator_storage', persistent=False, test=True)
|
||||
return imp.Values(storage)
|
||||
|
||||
|
||||
def list_sessions(type_): # pragma: optional cover
|
||||
|
|
|
@ -365,6 +365,8 @@ class StorageOptionDescription(StorageBase):
|
|||
raise AttributeError(_('no option for path {0}').format(path))
|
||||
|
||||
def impl_get_path_by_opt(self, opt):
|
||||
if self._cache_paths is None:
|
||||
raise ConfigError(_('use impl_get_path_by_opt only with root OptionDescription'))
|
||||
try:
|
||||
return self._cache_paths[1][self._cache_paths[0].index(opt)]
|
||||
except ValueError: # pragma: optional cover
|
||||
|
|
|
@ -213,9 +213,8 @@ class _Consistency(SqlAlchemyBase):
|
|||
|
||||
def __init__(self, func, all_cons_opts, params):
|
||||
self.func = func
|
||||
for option in all_cons_opts:
|
||||
for option in all_cons_opts[1:]:
|
||||
option._consistencies.append(self)
|
||||
print type(option._consistencies)
|
||||
self.params = params
|
||||
|
||||
|
||||
|
@ -278,6 +277,7 @@ class _Base(SqlAlchemyBase):
|
|||
_calc_props = relationship("_CalcProperties", collection_class=set)
|
||||
_calc_properties = association_proxy("_calc_props", "name")
|
||||
_warnings_only = Column(Boolean)
|
||||
_allow_empty_list = Column(Boolean)
|
||||
_readonly = Column(Boolean, default=False)
|
||||
_consistencies = relationship('_Consistency', secondary=consistency_table,
|
||||
backref=backref('options',
|
||||
|
@ -295,13 +295,15 @@ class _Base(SqlAlchemyBase):
|
|||
|
||||
#def __init__(self):
|
||||
def __init__(self, name, multi, warnings_only, doc, extra, calc_properties,
|
||||
requires, properties, opt=undefined):
|
||||
requires, properties, allow_empty_list, opt=undefined):
|
||||
util.session.add(self)
|
||||
self._name = name
|
||||
if multi is not undefined:
|
||||
self._multi = multi
|
||||
if warnings_only is not undefined:
|
||||
self._warnings_only = warnings_only
|
||||
if allow_empty_list is not undefined:
|
||||
self._allow_empty_list = allow_empty_list
|
||||
if doc is not undefined:
|
||||
self._informations = {'doc': doc}
|
||||
if opt is not undefined:
|
||||
|
@ -405,6 +407,12 @@ class _Base(SqlAlchemyBase):
|
|||
def impl_is_submulti(self):
|
||||
return self._multi == 2
|
||||
|
||||
def impl_allow_empty_list(self):
|
||||
try:
|
||||
return self._allow_empty_list
|
||||
except AttributeError:
|
||||
return undefined
|
||||
|
||||
def _is_warnings_only(self):
|
||||
return self._warnings_only
|
||||
|
||||
|
@ -479,6 +487,9 @@ class StorageOptionDescription(object):
|
|||
ret = util.session.query(Cache).filter_by(descr=self.id,
|
||||
option=opt.id).first()
|
||||
if ret is None:
|
||||
ret = util.session.query(Cache).filter_by(descr=self.id).first()
|
||||
if ret is None:
|
||||
raise ConfigError(_('use impl_get_path_by_opt only with root OptionDescription'))
|
||||
raise AttributeError(_('no option {0} found').format(opt))
|
||||
return ret.path
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Tiramisu\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-04-19 09:44+CEST\n"
|
||||
"POT-Creation-Date: 2015-07-27 10:06+0100\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.7.5\n"
|
||||
"X-Generator: Poedit 1.8.1\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
|
@ -21,41 +21,41 @@ msgstr ""
|
|||
"impossible d'effectuer le calcul, l'option {0} a les propriétés : {1} pour : "
|
||||
"{2}"
|
||||
|
||||
#: tiramisu/config.py:62
|
||||
#: tiramisu/config.py:61
|
||||
msgid "descr must be an optiondescription, not {0}"
|
||||
msgstr "descr doit être une optiondescription pas un {0}"
|
||||
|
||||
#: tiramisu/config.py:142
|
||||
#: tiramisu/config.py:141
|
||||
msgid "unknown group_type: {0}"
|
||||
msgstr "group_type inconnu: {0}"
|
||||
|
||||
#: tiramisu/config.py:181 tiramisu/setting.py:323 tiramisu/value.py:54
|
||||
#: tiramisu/value.py:624
|
||||
#: tiramisu/config.py:180 tiramisu/setting.py:326 tiramisu/value.py:54
|
||||
#: tiramisu/value.py:645
|
||||
msgid "the context does not exist anymore"
|
||||
msgstr "le context n'existe plus"
|
||||
|
||||
#: tiramisu/config.py:186
|
||||
#: tiramisu/config.py:185
|
||||
msgid "no option description found for this config (may be GroupConfig)"
|
||||
msgstr ""
|
||||
"pas d'option description trouvé pour cette config (peut être un GroupConfig)"
|
||||
|
||||
#: tiramisu/config.py:214
|
||||
#: tiramisu/config.py:213
|
||||
msgid "can't assign to an OptionDescription"
|
||||
msgstr "ne peut pas attribuer une valeur à une OptionDescription"
|
||||
|
||||
#: tiramisu/config.py:343
|
||||
#: tiramisu/config.py:342
|
||||
msgid "unknown type_ type {0}for _find"
|
||||
msgstr "type_ type {0} pour _find inconnu"
|
||||
|
||||
#: tiramisu/config.py:383
|
||||
#: tiramisu/config.py:382
|
||||
msgid "no option found in config with these criteria"
|
||||
msgstr "aucune option trouvée dans la config avec ces critères"
|
||||
|
||||
#: tiramisu/config.py:433
|
||||
#: tiramisu/config.py:432
|
||||
msgid "make_dict can't filtering with value without option"
|
||||
msgstr "make_dict ne peut filtrer sur une valeur mais sans option"
|
||||
|
||||
#: tiramisu/config.py:452
|
||||
#: tiramisu/config.py:451
|
||||
msgid "unexpected path {0}, should start with {1}"
|
||||
msgstr "chemin imprévu {0}, devrait commencer par {1}"
|
||||
|
||||
|
@ -75,38 +75,38 @@ msgstr "ce storage n'est sérialisable, devrait être une storage non persistant
|
|||
msgid "invalid name: {0} for config"
|
||||
msgstr "nom invalide : {0} pour la config"
|
||||
|
||||
#: tiramisu/config.py:669
|
||||
#: tiramisu/config.py:680
|
||||
msgid "groupconfig's children must be a list"
|
||||
msgstr "enfants d'une groupconfig doit être une liste"
|
||||
|
||||
#: tiramisu/config.py:673
|
||||
#: tiramisu/config.py:684
|
||||
msgid "groupconfig's children must be Config, MetaConfig or GroupConfig"
|
||||
msgstr ""
|
||||
"les enfants d'un groupconfig doivent être des Config, MetaConfig ou "
|
||||
"GroupConfig"
|
||||
|
||||
#: tiramisu/config.py:676
|
||||
#: tiramisu/config.py:687
|
||||
msgid "name must be set to config before creating groupconfig"
|
||||
msgstr "un nom doit être donné à la config avant de créer un groupconfig"
|
||||
|
||||
#: tiramisu/config.py:684
|
||||
#: tiramisu/config.py:695
|
||||
msgid "config name must be uniq in groupconfig for {0}"
|
||||
msgstr "le nom de la config doit être unique dans un groupconfig pour {0}"
|
||||
|
||||
#: tiramisu/config.py:799
|
||||
#: tiramisu/config.py:810
|
||||
msgid "metaconfig's children should be config, not {0}"
|
||||
msgstr "enfants d'une metaconfig doit être une config, pas {0}"
|
||||
|
||||
#: tiramisu/config.py:803
|
||||
#: tiramisu/config.py:814
|
||||
msgid "child has already a metaconfig's"
|
||||
msgstr "enfant a déjà une metaconfig"
|
||||
|
||||
#: tiramisu/config.py:807
|
||||
#: tiramisu/config.py:818
|
||||
msgid "all config in metaconfig must have the same optiondescription"
|
||||
msgstr ""
|
||||
"toutes les configs d'une metaconfig doivent avoir la même optiondescription"
|
||||
|
||||
#: tiramisu/config.py:819
|
||||
#: tiramisu/config.py:830
|
||||
msgid ""
|
||||
"force_default, force_default_if_same or force_dont_change_value cannot be "
|
||||
"set with only_config"
|
||||
|
@ -114,7 +114,7 @@ msgstr ""
|
|||
"force_default, force_default_if_same ou force_dont_change_value ne peuvent "
|
||||
"pas être spécifié avec only_config"
|
||||
|
||||
#: tiramisu/config.py:825
|
||||
#: tiramisu/config.py:836
|
||||
msgid "force_default and force_dont_change_value cannot be set together"
|
||||
msgstr ""
|
||||
"force_default et force_dont_change_value ne peuvent pas être mis ensemble"
|
||||
|
@ -198,101 +198,101 @@ msgstr "l'attribut {2} de l'objet '{0}' ({1}) est en lecture seule"
|
|||
msgid "invalid unicode or string"
|
||||
msgstr "invalide unicode ou string"
|
||||
|
||||
#: tiramisu/option/baseoption.py:549 tiramisu/option/baseoption.py:594
|
||||
#: tiramisu/option/baseoption.py:549 tiramisu/option/baseoption.py:590
|
||||
msgid "invalid value for option {0}: {1}"
|
||||
msgstr "valeur invalide pour l'option {0} : {1}"
|
||||
|
||||
#: tiramisu/option/baseoption.py:562
|
||||
#: tiramisu/option/baseoption.py:558
|
||||
msgid "do_validation for {0}: error in value"
|
||||
msgstr "do_validation for {0} : erreur dans un la valeur"
|
||||
|
||||
#: tiramisu/option/baseoption.py:568
|
||||
#: tiramisu/option/baseoption.py:564
|
||||
msgid "do_validation for {0}: warning in value"
|
||||
msgstr "do_validation for {0} : warning dans un la valeur"
|
||||
|
||||
#: tiramisu/option/baseoption.py:578
|
||||
#: tiramisu/option/baseoption.py:574
|
||||
msgid "do_validation for {0}: error in consistency"
|
||||
msgstr "do_validation for {0} : erreur dans un test de consistance"
|
||||
|
||||
#: tiramisu/option/baseoption.py:582
|
||||
#: tiramisu/option/baseoption.py:578
|
||||
msgid "do_validation for {0}: warning in consistency"
|
||||
msgstr "do_validation for {0} : warning dans un test de consistance"
|
||||
|
||||
#: tiramisu/option/baseoption.py:586
|
||||
#: tiramisu/option/baseoption.py:582
|
||||
msgid "warning on the value of the option {0}: {1}"
|
||||
msgstr "avertissement sur la valeur de l'option {0} : {1}"
|
||||
|
||||
#: tiramisu/option/baseoption.py:606 tiramisu/option/baseoption.py:615
|
||||
#: tiramisu/option/baseoption.py:602 tiramisu/option/baseoption.py:611
|
||||
msgid "invalid value {0} for option {1} which must be a list"
|
||||
msgstr "valeur invalide pour l'option {0} : {1} laquelle doit être une liste"
|
||||
|
||||
#: tiramisu/option/baseoption.py:621
|
||||
#: tiramisu/option/baseoption.py:617
|
||||
msgid "invalid value {0} for option {1} which must be a list of list"
|
||||
msgstr ""
|
||||
"valeur invalide pour l'option {0} : {1} laquelle doit être une liste de liste"
|
||||
|
||||
#: tiramisu/option/baseoption.py:674
|
||||
#: tiramisu/option/baseoption.py:670
|
||||
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:686
|
||||
#: tiramisu/option/baseoption.py:682
|
||||
msgid "unknow parameter {0} in consistency"
|
||||
msgstr "paramètre inconnu {0} dans un test de consistance"
|
||||
|
||||
#: tiramisu/option/baseoption.py:693
|
||||
#: tiramisu/option/baseoption.py:689
|
||||
msgid "consistency must be set with an option"
|
||||
msgstr "consistency doit être configuré avec une option"
|
||||
|
||||
#: tiramisu/option/baseoption.py:696 tiramisu/option/baseoption.py:703
|
||||
#: tiramisu/option/baseoption.py:692 tiramisu/option/baseoption.py:699
|
||||
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:699
|
||||
#: tiramisu/option/baseoption.py:695
|
||||
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:706
|
||||
#: tiramisu/option/baseoption.py:702
|
||||
msgid "cannot add consistency with itself"
|
||||
msgstr "ne peut ajouter une consistency avec lui même"
|
||||
|
||||
#: tiramisu/option/baseoption.py:708
|
||||
#: tiramisu/option/baseoption.py:704
|
||||
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:712
|
||||
#: tiramisu/option/baseoption.py:708
|
||||
msgid "consistency {0} not available for this option"
|
||||
msgstr "consistency {0} non valable pour cette option"
|
||||
|
||||
#: tiramisu/option/baseoption.py:741
|
||||
#: tiramisu/option/baseoption.py:737
|
||||
msgid "same value for {0} and {1}, should be different"
|
||||
msgstr "même valeur pour {0} et {1}, devrait être différent"
|
||||
|
||||
#: tiramisu/option/baseoption.py:743
|
||||
#: tiramisu/option/baseoption.py:739
|
||||
msgid "same value for {0} and {1}, must be different"
|
||||
msgstr "même valeur pour {0} et {1}, doit être différent"
|
||||
|
||||
#: tiramisu/option/baseoption.py:800
|
||||
#: tiramisu/option/baseoption.py:795
|
||||
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:822
|
||||
#: tiramisu/option/baseoption.py:817
|
||||
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:828
|
||||
#: tiramisu/option/baseoption.py:823
|
||||
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:839
|
||||
#: tiramisu/option/baseoption.py:834
|
||||
msgid ""
|
||||
"malformed requirements for option: {0} require must have option, expected "
|
||||
"and action keys"
|
||||
|
@ -300,49 +300,49 @@ msgstr ""
|
|||
"requirements malformé pour l'option : {0} l'exigence doit avoir les clefs "
|
||||
"option, expected et action"
|
||||
|
||||
#: tiramisu/option/baseoption.py:843
|
||||
#: tiramisu/option/baseoption.py:838
|
||||
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:848
|
||||
#: tiramisu/option/baseoption.py:843
|
||||
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:852
|
||||
#: tiramisu/option/baseoption.py:847
|
||||
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:856
|
||||
#: tiramisu/option/baseoption.py:851
|
||||
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:860
|
||||
#: tiramisu/option/baseoption.py:855
|
||||
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:863
|
||||
#: tiramisu/option/baseoption.py:858
|
||||
msgid "malformed requirements option {0} must not be a multi for {1}"
|
||||
msgstr ""
|
||||
"requirements mal formés pour l'option {0} ne doit pas être une multi pour {1}"
|
||||
|
||||
#: tiramisu/option/baseoption.py:870
|
||||
#: tiramisu/option/baseoption.py:865
|
||||
msgid ""
|
||||
"malformed requirements second argument must be valid for option {0}: {1}"
|
||||
msgstr ""
|
||||
"requirements mal formés deuxième argument doit être valide pour l'option "
|
||||
"{0} : {1}"
|
||||
|
||||
#: tiramisu/option/baseoption.py:875
|
||||
#: tiramisu/option/baseoption.py:870
|
||||
msgid "inconsistency in action types for option: {0} action: {1}"
|
||||
msgstr "incohérence dans les types action pour l'option : {0} action {1}"
|
||||
|
||||
#: tiramisu/option/baseoption.py:903
|
||||
#: tiramisu/option/baseoption.py:898
|
||||
msgid "malformed symlinkoption must be an option for symlink {0}"
|
||||
msgstr "symlinkoption mal formé, doit être une option pour symlink {0}"
|
||||
|
||||
|
@ -370,7 +370,7 @@ msgstr ""
|
|||
"callback d'une variable maitre ne devrait pas référencer des variables "
|
||||
"esclaves"
|
||||
|
||||
#: tiramisu/option/masterslave.py:259
|
||||
#: tiramisu/option/masterslave.py:260
|
||||
msgid "invalid len for the slave: {0} which has {1} as master"
|
||||
msgstr "longueur invalide pour une esclave : {0} qui a {1} comme maître"
|
||||
|
||||
|
@ -587,92 +587,92 @@ msgstr "nom de l'option dupliqué : {0}"
|
|||
msgid "option must not start as dynoptiondescription"
|
||||
msgstr "option ne doit pas commencé pareil qu'un dynoptiondescription"
|
||||
|
||||
#: tiramisu/option/optiondescription.py:119
|
||||
#: tiramisu/option/optiondescription.py:117
|
||||
msgid "consistency with option {0} which is not in Config"
|
||||
msgstr "consistency avec l'option {0} qui n'est pas dans une Config"
|
||||
|
||||
#: tiramisu/option/optiondescription.py:145
|
||||
#: tiramisu/option/optiondescription.py:143
|
||||
msgid "duplicate option: {0}"
|
||||
msgstr "option dupliquée : {0}"
|
||||
|
||||
#: tiramisu/option/optiondescription.py:156
|
||||
#: tiramisu/option/optiondescription.py:154
|
||||
msgid "cannot change group_type if already set (old {0}, new {1})"
|
||||
msgstr "ne peut changer group_type si déjà spécifié (ancien {0}, nouveau {1})"
|
||||
|
||||
#: tiramisu/option/optiondescription.py:164
|
||||
#: tiramisu/option/optiondescription.py:162
|
||||
msgid "group_type: {0} not allowed"
|
||||
msgstr "group_type : {0} non autorisé"
|
||||
|
||||
#: tiramisu/option/optiondescription.py:262
|
||||
#: tiramisu/option/optiondescription.py:260
|
||||
msgid "DynOptionDescription callback return not uniq value"
|
||||
msgstr "callback d'une DynOptionDescription ne retourne pas une valeur unique"
|
||||
|
||||
#: tiramisu/option/optiondescription.py:265
|
||||
#: tiramisu/option/optiondescription.py:263
|
||||
msgid "invalid suffix: {0} for option"
|
||||
msgstr "suffix invalide : {0} pour l'option"
|
||||
|
||||
#: tiramisu/option/optiondescription.py:318
|
||||
#: tiramisu/option/optiondescription.py:320
|
||||
msgid "cannot set optiondescription in an dynoptiondescription"
|
||||
msgstr ""
|
||||
"impossible de mettre une optiondescription dans un dynoptiondescription"
|
||||
|
||||
#: tiramisu/option/optiondescription.py:323
|
||||
#: tiramisu/option/optiondescription.py:325
|
||||
msgid "cannot set symlinkoption in an dynoptiondescription"
|
||||
msgstr "impossible de placer un symlinkoption dans un dynoptiondescription"
|
||||
|
||||
#: tiramisu/option/optiondescription.py:331
|
||||
#: tiramisu/option/optiondescription.py:333
|
||||
msgid "callback is mandatory for dynoptiondescription"
|
||||
msgstr "callback est obligatoire pour un dynoptiondescription"
|
||||
|
||||
#: tiramisu/setting.py:124
|
||||
#: tiramisu/setting.py:127
|
||||
msgid "can't rebind {0}"
|
||||
msgstr "ne peut redéfinir ({0})"
|
||||
|
||||
#: tiramisu/setting.py:129
|
||||
#: tiramisu/setting.py:132
|
||||
msgid "can't unbind {0}"
|
||||
msgstr "ne peut supprimer ({0})"
|
||||
|
||||
#: tiramisu/setting.py:257
|
||||
#: tiramisu/setting.py:260
|
||||
msgid "cannot append {0} property for option {1}: this property is calculated"
|
||||
msgstr ""
|
||||
"ne peut ajouter la propriété {0} dans l'option {1}: cette propriété est "
|
||||
"calculée"
|
||||
|
||||
#: tiramisu/setting.py:346
|
||||
#: tiramisu/setting.py:349
|
||||
msgid "you should only append/remove properties"
|
||||
msgstr "pour pouvait seulement ajouter/supprimer des propriétés"
|
||||
|
||||
#: tiramisu/setting.py:350
|
||||
#: tiramisu/setting.py:353
|
||||
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:371
|
||||
#: tiramisu/setting.py:373
|
||||
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:415
|
||||
#: tiramisu/setting.py:417
|
||||
msgid "cannot add those properties: {0}"
|
||||
msgstr "ne peut pas ajouter ces propriétés : {0}"
|
||||
|
||||
#: tiramisu/setting.py:480
|
||||
#: tiramisu/setting.py:490
|
||||
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"
|
||||
|
||||
#: tiramisu/setting.py:490
|
||||
#: tiramisu/setting.py:500
|
||||
msgid "trying to access to an {0} named: {1} with properties {2}"
|
||||
msgstr "tentative d'accès à une {0} nommée : {1} avec les propriétés {2}"
|
||||
|
||||
#: tiramisu/setting.py:509
|
||||
#: tiramisu/setting.py:519
|
||||
msgid "permissive must be a tuple"
|
||||
msgstr "permissive doit être un tuple"
|
||||
|
||||
#: tiramisu/setting.py:516 tiramisu/value.py:445
|
||||
#: tiramisu/setting.py:526 tiramisu/value.py:464
|
||||
msgid "invalid generic owner {0}"
|
||||
msgstr "invalide owner générique {0}"
|
||||
|
||||
#: tiramisu/setting.py:604
|
||||
#: tiramisu/setting.py:614
|
||||
msgid ""
|
||||
"malformed requirements imbrication detected for option: '{0}' with "
|
||||
"requirement on: '{1}'"
|
||||
|
@ -680,7 +680,7 @@ msgstr ""
|
|||
"imbrication de requirements mal formés detectée pour l'option : '{0}' avec "
|
||||
"requirement sur : '{1}'"
|
||||
|
||||
#: tiramisu/setting.py:615
|
||||
#: tiramisu/setting.py:625
|
||||
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}"
|
||||
|
||||
|
@ -696,7 +696,7 @@ msgstr "ne peut pas importer le stockage {0}"
|
|||
msgid "option {0} not already exists in storage {1}"
|
||||
msgstr "option {0} n'existe pas dans l'espace de stockage {1}"
|
||||
|
||||
#: tiramisu/storage/__init__.py:128
|
||||
#: tiramisu/storage/__init__.py:133
|
||||
msgid "unable to get storages:"
|
||||
msgstr "impossible de récupérer les storages :"
|
||||
|
||||
|
@ -705,34 +705,39 @@ msgid "invalid default_multi value {0} for option {1}: {2}"
|
|||
msgstr "la valeur default_multi est invalide {0} pour l'option {1} : {2}"
|
||||
|
||||
#: tiramisu/storage/dictionary/option.py:138
|
||||
#: tiramisu/storage/sqlalchemy/option.py:431 tiramisu/value.py:509
|
||||
#: tiramisu/storage/sqlalchemy/option.py:431 tiramisu/value.py:528
|
||||
msgid "information's item not found: {0}"
|
||||
msgstr "aucune config spécifiée alors que c'est nécessaire"
|
||||
|
||||
#: tiramisu/storage/dictionary/option.py:359
|
||||
#: tiramisu/storage/dictionary/option.py:365
|
||||
#: tiramisu/storage/sqlalchemy/option.py:475
|
||||
msgid "no option for path {0}"
|
||||
msgstr "pas d'option pour le chemin {0}"
|
||||
|
||||
#: tiramisu/storage/dictionary/option.py:365
|
||||
#: tiramisu/storage/dictionary/option.py:369
|
||||
msgid "use impl_get_path_by_opt only with root OptionDescription"
|
||||
msgstr ""
|
||||
"utiliser impl_get_path_by_opt seulement avec une OptionDescription racine"
|
||||
|
||||
#: tiramisu/storage/dictionary/option.py:373
|
||||
#: tiramisu/storage/sqlalchemy/option.py:482
|
||||
msgid "no option {0} found"
|
||||
msgstr "pas d'option {0} trouvée"
|
||||
|
||||
#: tiramisu/storage/dictionary/option.py:414
|
||||
#: tiramisu/storage/dictionary/option.py:422
|
||||
msgid "cannot find dynpath"
|
||||
msgstr "ne peut trouver le dynpath"
|
||||
|
||||
#: tiramisu/storage/dictionary/option.py:504
|
||||
#: tiramisu/storage/dictionary/option.py:512
|
||||
#: tiramisu/storage/sqlalchemy/option.py:627
|
||||
msgid "suffix and context needed if it's a dyn option"
|
||||
msgstr "suffix et context obligatoire si c'est une option dynamique"
|
||||
|
||||
#: tiramisu/storage/dictionary/option.py:517
|
||||
#: tiramisu/storage/dictionary/option.py:525
|
||||
msgid "{0} instance has no attribute '_readonly'"
|
||||
msgstr "{0} instance n'a pas l'attribut '_readonly'"
|
||||
|
||||
#: tiramisu/storage/dictionary/option.py:531
|
||||
#: tiramisu/storage/dictionary/option.py:539
|
||||
#: tiramisu/storage/sqlalchemy/option.py:657
|
||||
msgid "unknown Option {0} in OptionDescription {1}"
|
||||
msgstr "Option {0} inconnue pour l'OptionDescription {1}"
|
||||
|
@ -755,52 +760,52 @@ msgstr "un espace de stockage dictionary ne peut être persistant"
|
|||
msgid "optiondescription has no value"
|
||||
msgstr "une optiondescription n'a pas de valeur"
|
||||
|
||||
#: tiramisu/value.py:337
|
||||
#: tiramisu/value.py:350
|
||||
msgid "you should only set value with config"
|
||||
msgstr "vous devez seul affecter une valeur avec un config"
|
||||
|
||||
#: tiramisu/value.py:414
|
||||
#: tiramisu/value.py:432
|
||||
msgid "owner only avalaible for an option"
|
||||
msgstr "owner seulement possible pour une option"
|
||||
|
||||
#: tiramisu/value.py:452
|
||||
#: tiramisu/value.py:471
|
||||
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:550
|
||||
#: tiramisu/value.py:572
|
||||
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:589
|
||||
#: tiramisu/value.py:611
|
||||
msgid "{0} is already a Multi "
|
||||
msgstr "{0} est déjà une Multi"
|
||||
|
||||
#: tiramisu/value.py:659
|
||||
#: tiramisu/value.py:682
|
||||
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:683
|
||||
#: tiramisu/value.py:709
|
||||
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:687
|
||||
#: tiramisu/value.py:713
|
||||
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:696
|
||||
#: tiramisu/value.py:722
|
||||
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:704
|
||||
#: tiramisu/value.py:730
|
||||
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:717
|
||||
#: tiramisu/value.py:746
|
||||
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:749
|
||||
#: tiramisu/value.py:781
|
||||
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"
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"POT-Creation-Date: 2015-04-19 09:44+CEST\n"
|
||||
"POT-Creation-Date: 2015-07-27 10:05+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"
|
||||
|
@ -19,40 +19,40 @@ msgstr ""
|
|||
msgid "unable to carry out a calculation, option {0} has properties: {1} for: {2}"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/config.py:62
|
||||
#: tiramisu/config.py:61
|
||||
msgid "descr must be an optiondescription, not {0}"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/config.py:142
|
||||
#: tiramisu/config.py:141
|
||||
msgid "unknown group_type: {0}"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/config.py:181 tiramisu/setting.py:323 tiramisu/value.py:54
|
||||
#: tiramisu/value.py:624
|
||||
#: tiramisu/config.py:180 tiramisu/setting.py:326 tiramisu/value.py:54
|
||||
#: tiramisu/value.py:645
|
||||
msgid "the context does not exist anymore"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/config.py:186
|
||||
#: tiramisu/config.py:185
|
||||
msgid "no option description found for this config (may be GroupConfig)"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/config.py:214
|
||||
#: tiramisu/config.py:213
|
||||
msgid "can't assign to an OptionDescription"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/config.py:343
|
||||
#: tiramisu/config.py:342
|
||||
msgid "unknown type_ type {0}for _find"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/config.py:383
|
||||
#: tiramisu/config.py:382
|
||||
msgid "no option found in config with these criteria"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/config.py:433
|
||||
#: tiramisu/config.py:432
|
||||
msgid "make_dict can't filtering with value without option"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/config.py:452
|
||||
#: tiramisu/config.py:451
|
||||
msgid "unexpected path {0}, should start with {1}"
|
||||
msgstr ""
|
||||
|
||||
|
@ -72,39 +72,39 @@ msgstr ""
|
|||
msgid "invalid name: {0} for config"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/config.py:669
|
||||
#: tiramisu/config.py:680
|
||||
msgid "groupconfig's children must be a list"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/config.py:673
|
||||
#: tiramisu/config.py:684
|
||||
msgid "groupconfig's children must be Config, MetaConfig or GroupConfig"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/config.py:676
|
||||
#: tiramisu/config.py:687
|
||||
msgid "name must be set to config before creating groupconfig"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/config.py:684
|
||||
#: tiramisu/config.py:695
|
||||
msgid "config name must be uniq in groupconfig for {0}"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/config.py:799
|
||||
#: tiramisu/config.py:810
|
||||
msgid "metaconfig's children should be config, not {0}"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/config.py:803
|
||||
#: tiramisu/config.py:814
|
||||
msgid "child has already a metaconfig's"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/config.py:807
|
||||
#: tiramisu/config.py:818
|
||||
msgid "all config in metaconfig must have the same optiondescription"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/config.py:819
|
||||
#: tiramisu/config.py:830
|
||||
msgid "force_default, force_default_if_same or force_dont_change_value cannot be set with only_config"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/config.py:825
|
||||
#: tiramisu/config.py:836
|
||||
msgid "force_default and force_dont_change_value cannot be set together"
|
||||
msgstr ""
|
||||
|
||||
|
@ -176,127 +176,127 @@ msgstr ""
|
|||
msgid "invalid unicode or string"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option/baseoption.py:549 tiramisu/option/baseoption.py:594
|
||||
#: tiramisu/option/baseoption.py:549 tiramisu/option/baseoption.py:590
|
||||
msgid "invalid value for option {0}: {1}"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option/baseoption.py:562
|
||||
#: tiramisu/option/baseoption.py:558
|
||||
msgid "do_validation for {0}: error in value"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option/baseoption.py:568
|
||||
#: tiramisu/option/baseoption.py:564
|
||||
msgid "do_validation for {0}: warning in value"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option/baseoption.py:578
|
||||
#: tiramisu/option/baseoption.py:574
|
||||
msgid "do_validation for {0}: error in consistency"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option/baseoption.py:582
|
||||
#: tiramisu/option/baseoption.py:578
|
||||
msgid "do_validation for {0}: warning in consistency"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option/baseoption.py:586
|
||||
#: tiramisu/option/baseoption.py:582
|
||||
msgid "warning on the value of the option {0}: {1}"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option/baseoption.py:606 tiramisu/option/baseoption.py:615
|
||||
#: tiramisu/option/baseoption.py:602 tiramisu/option/baseoption.py:611
|
||||
msgid "invalid value {0} for option {1} which must be a list"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option/baseoption.py:621
|
||||
#: tiramisu/option/baseoption.py:617
|
||||
msgid "invalid value {0} for option {1} which must be a list of list"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option/baseoption.py:674
|
||||
#: tiramisu/option/baseoption.py:670
|
||||
msgid "'{0}' ({1}) cannot add consistency, option is read-only"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option/baseoption.py:686
|
||||
#: tiramisu/option/baseoption.py:682
|
||||
msgid "unknow parameter {0} in consistency"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option/baseoption.py:693
|
||||
#: tiramisu/option/baseoption.py:689
|
||||
msgid "consistency must be set with an option"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option/baseoption.py:696 tiramisu/option/baseoption.py:703
|
||||
#: tiramisu/option/baseoption.py:692 tiramisu/option/baseoption.py:699
|
||||
msgid "almost one option in consistency is in a dynoptiondescription but not all"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option/baseoption.py:699
|
||||
#: tiramisu/option/baseoption.py:695
|
||||
msgid "option in consistency must be in same dynoptiondescription"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option/baseoption.py:706
|
||||
#: tiramisu/option/baseoption.py:702
|
||||
msgid "cannot add consistency with itself"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option/baseoption.py:708
|
||||
#: tiramisu/option/baseoption.py:704
|
||||
msgid "every options in consistency must be multi or none"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option/baseoption.py:712
|
||||
#: tiramisu/option/baseoption.py:708
|
||||
msgid "consistency {0} not available for this option"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option/baseoption.py:741
|
||||
#: tiramisu/option/baseoption.py:737
|
||||
msgid "same value for {0} and {1}, should be different"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option/baseoption.py:743
|
||||
#: tiramisu/option/baseoption.py:739
|
||||
msgid "same value for {0} and {1}, must be different"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option/baseoption.py:800
|
||||
#: tiramisu/option/baseoption.py:795
|
||||
msgid "default value not allowed if option: {0} is calculated"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option/baseoption.py:822
|
||||
#: tiramisu/option/baseoption.py:817
|
||||
msgid "malformed requirements type for option: {0}, must be a dict"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option/baseoption.py:828
|
||||
#: tiramisu/option/baseoption.py:823
|
||||
msgid "malformed requirements for option: {0} unknown keys {1}, must only {2}"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option/baseoption.py:839
|
||||
#: tiramisu/option/baseoption.py:834
|
||||
msgid "malformed requirements for option: {0} require must have option, expected and action keys"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option/baseoption.py:843
|
||||
#: tiramisu/option/baseoption.py:838
|
||||
msgid "malformed requirements for option: {0} action cannot be force_store_value"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option/baseoption.py:848
|
||||
#: tiramisu/option/baseoption.py:843
|
||||
msgid "malformed requirements for option: {0} inverse must be boolean"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option/baseoption.py:852
|
||||
#: tiramisu/option/baseoption.py:847
|
||||
msgid "malformed requirements for option: {0} transitive must be boolean"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option/baseoption.py:856
|
||||
#: tiramisu/option/baseoption.py:851
|
||||
msgid "malformed requirements for option: {0} same_action must be boolean"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option/baseoption.py:860
|
||||
#: tiramisu/option/baseoption.py:855
|
||||
msgid "malformed requirements must be an option in option {0}"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option/baseoption.py:863
|
||||
#: tiramisu/option/baseoption.py:858
|
||||
msgid "malformed requirements option {0} must not be a multi for {1}"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option/baseoption.py:870
|
||||
#: tiramisu/option/baseoption.py:865
|
||||
msgid "malformed requirements second argument must be valid for option {0}: {1}"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option/baseoption.py:875
|
||||
#: tiramisu/option/baseoption.py:870
|
||||
msgid "inconsistency in action types for option: {0} action: {1}"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option/baseoption.py:903
|
||||
#: tiramisu/option/baseoption.py:898
|
||||
msgid "malformed symlinkoption must be an option for symlink {0}"
|
||||
msgstr ""
|
||||
|
||||
|
@ -320,7 +320,7 @@ msgstr ""
|
|||
msgid "callback of master's option shall not refered a slave's ones"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option/masterslave.py:259
|
||||
#: tiramisu/option/masterslave.py:260
|
||||
msgid "invalid len for the slave: {0} which has {1} as master"
|
||||
msgstr ""
|
||||
|
||||
|
@ -533,91 +533,91 @@ msgstr ""
|
|||
msgid "option must not start as dynoptiondescription"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option/optiondescription.py:119
|
||||
#: tiramisu/option/optiondescription.py:117
|
||||
msgid "consistency with option {0} which is not in Config"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option/optiondescription.py:145
|
||||
#: tiramisu/option/optiondescription.py:143
|
||||
msgid "duplicate option: {0}"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option/optiondescription.py:156
|
||||
#: tiramisu/option/optiondescription.py:154
|
||||
msgid "cannot change group_type if already set (old {0}, new {1})"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option/optiondescription.py:164
|
||||
#: tiramisu/option/optiondescription.py:162
|
||||
msgid "group_type: {0} not allowed"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option/optiondescription.py:262
|
||||
#: tiramisu/option/optiondescription.py:260
|
||||
msgid "DynOptionDescription callback return not uniq value"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option/optiondescription.py:265
|
||||
#: tiramisu/option/optiondescription.py:263
|
||||
msgid "invalid suffix: {0} for option"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option/optiondescription.py:318
|
||||
#: tiramisu/option/optiondescription.py:320
|
||||
msgid "cannot set optiondescription in an dynoptiondescription"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option/optiondescription.py:323
|
||||
#: tiramisu/option/optiondescription.py:325
|
||||
msgid "cannot set symlinkoption in an dynoptiondescription"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option/optiondescription.py:331
|
||||
#: tiramisu/option/optiondescription.py:333
|
||||
msgid "callback is mandatory for dynoptiondescription"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/setting.py:124
|
||||
#: tiramisu/setting.py:127
|
||||
msgid "can't rebind {0}"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/setting.py:129
|
||||
#: tiramisu/setting.py:132
|
||||
msgid "can't unbind {0}"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/setting.py:257
|
||||
#: tiramisu/setting.py:260
|
||||
msgid "cannot append {0} property for option {1}: this property is calculated"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/setting.py:346
|
||||
#: tiramisu/setting.py:349
|
||||
msgid "you should only append/remove properties"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/setting.py:350
|
||||
#: tiramisu/setting.py:353
|
||||
msgid "opt and all_properties must not be set together in reset"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/setting.py:371
|
||||
#: tiramisu/setting.py:373
|
||||
msgid "if opt is not None, path should not be None in _getproperties"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/setting.py:415
|
||||
#: tiramisu/setting.py:417
|
||||
msgid "cannot add those properties: {0}"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/setting.py:480
|
||||
#: tiramisu/setting.py:490
|
||||
msgid "cannot change the value for option {0} this option is frozen"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/setting.py:490
|
||||
#: tiramisu/setting.py:500
|
||||
msgid "trying to access to an {0} named: {1} with properties {2}"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/setting.py:509
|
||||
#: tiramisu/setting.py:519
|
||||
msgid "permissive must be a tuple"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/setting.py:516 tiramisu/value.py:445
|
||||
#: tiramisu/setting.py:526 tiramisu/value.py:464
|
||||
msgid "invalid generic owner {0}"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/setting.py:604
|
||||
#: tiramisu/setting.py:614
|
||||
msgid "malformed requirements imbrication detected for option: '{0}' with requirement on: '{1}'"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/setting.py:615
|
||||
#: tiramisu/setting.py:625
|
||||
msgid "option '{0}' has requirement's property error: {1} {2}"
|
||||
msgstr ""
|
||||
|
||||
|
@ -633,7 +633,7 @@ msgstr ""
|
|||
msgid "option {0} not already exists in storage {1}"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/storage/__init__.py:128
|
||||
#: tiramisu/storage/__init__.py:133
|
||||
msgid "unable to get storages:"
|
||||
msgstr ""
|
||||
|
||||
|
@ -642,34 +642,38 @@ msgid "invalid default_multi value {0} for option {1}: {2}"
|
|||
msgstr ""
|
||||
|
||||
#: tiramisu/storage/dictionary/option.py:138
|
||||
#: tiramisu/storage/sqlalchemy/option.py:431 tiramisu/value.py:509
|
||||
#: tiramisu/storage/sqlalchemy/option.py:431 tiramisu/value.py:528
|
||||
msgid "information's item not found: {0}"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/storage/dictionary/option.py:359
|
||||
#: tiramisu/storage/dictionary/option.py:365
|
||||
#: tiramisu/storage/sqlalchemy/option.py:475
|
||||
msgid "no option for path {0}"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/storage/dictionary/option.py:365
|
||||
#: tiramisu/storage/dictionary/option.py:369
|
||||
msgid "use impl_get_path_by_opt only with root OptionDescription"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/storage/dictionary/option.py:373
|
||||
#: tiramisu/storage/sqlalchemy/option.py:482
|
||||
msgid "no option {0} found"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/storage/dictionary/option.py:414
|
||||
#: tiramisu/storage/dictionary/option.py:422
|
||||
msgid "cannot find dynpath"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/storage/dictionary/option.py:504
|
||||
#: tiramisu/storage/dictionary/option.py:512
|
||||
#: tiramisu/storage/sqlalchemy/option.py:627
|
||||
msgid "suffix and context needed if it's a dyn option"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/storage/dictionary/option.py:517
|
||||
#: tiramisu/storage/dictionary/option.py:525
|
||||
msgid "{0} instance has no attribute '_readonly'"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/storage/dictionary/option.py:531
|
||||
#: tiramisu/storage/dictionary/option.py:539
|
||||
#: tiramisu/storage/sqlalchemy/option.py:657
|
||||
msgid "unknown Option {0} in OptionDescription {1}"
|
||||
msgstr ""
|
||||
|
@ -691,51 +695,51 @@ msgstr ""
|
|||
msgid "optiondescription has no value"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/value.py:337
|
||||
#: tiramisu/value.py:350
|
||||
msgid "you should only set value with config"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/value.py:414
|
||||
#: tiramisu/value.py:432
|
||||
msgid "owner only avalaible for an option"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/value.py:452
|
||||
#: tiramisu/value.py:471
|
||||
msgid "no value for {0} cannot change owner to {1}"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/value.py:550
|
||||
#: tiramisu/value.py:572
|
||||
msgid "can force cache only if cache is actived in config"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/value.py:589
|
||||
#: tiramisu/value.py:611
|
||||
msgid "{0} is already a Multi "
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/value.py:659
|
||||
#: tiramisu/value.py:682
|
||||
msgid "cannot append a value on a multi option {0} which is a slave"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/value.py:683
|
||||
#: tiramisu/value.py:709
|
||||
msgid "cannot sort multi option {0} if master or slave"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/value.py:687
|
||||
#: tiramisu/value.py:713
|
||||
msgid "cmp is not permitted in python v3 or greater"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/value.py:696
|
||||
#: tiramisu/value.py:722
|
||||
msgid "cannot reverse multi option {0} if master or slave"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/value.py:704
|
||||
#: tiramisu/value.py:730
|
||||
msgid "cannot insert multi option {0} if master or slave"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/value.py:717
|
||||
#: tiramisu/value.py:746
|
||||
msgid "cannot extend multi option {0} if master or slave"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/value.py:749
|
||||
#: tiramisu/value.py:781
|
||||
msgid "cannot pop a value on a multi option {0} which is a slave"
|
||||
msgstr ""
|
||||
|
||||
|
|
Loading…
Reference in a new issue