domainname must not be an IP

This commit is contained in:
Emmanuel Garette 2016-08-31 15:50:10 +02:00
parent 6cfa0fc216
commit 3a5b1090c7
4 changed files with 584 additions and 552 deletions

View file

@ -34,6 +34,7 @@ def test_domainname():
c.f = 'd'
c.f = 'd.t'
#
raises(ValueError, "c.f = '192.168.1.1'")
c.g = 'toto.com'
c.g = '192.168.1.0'
c.g = '192.168.1.29'
@ -95,6 +96,7 @@ def test_domainname_warning():
c.f = 'd'
c.f = 'd.t'
#
raises(ValueError, "c.f = '192.168.1.1'")
c.g = 'toto.com'
c.g = '192.168.1.0'
c.g = '192.168.1.29'

View file

@ -503,6 +503,13 @@ class DomainnameOption(Option):
return
except ValueError:
pass
else:
try:
IP('{0}/32'.format(value))
except ValueError:
pass
else:
raise ValueError(_('invalid domainname, must not be an IP'))
if self._get_extra('_dom_type') == 'netbios':
part_name_length = 15
else:

File diff suppressed because it is too large Load diff

View file

@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2015-10-12 17:04+CEST\n"
"POT-Creation-Date: 2016-08-31 15:38+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"
@ -15,128 +15,132 @@ msgstr ""
"Generated-By: pygettext.py 1.5\n"
#: tiramisu/autolib.py:176
#: tiramisu/autolib.py:171
msgid "unable to carry out a calculation, option {0} has properties: {1} for: {2}"
msgstr ""
#: tiramisu/config.py:61
#: tiramisu/autolib.py:239
msgid "callback cannot return a list for a slave option ({0})"
msgstr ""
#: tiramisu/config.py:64
msgid "descr must be an optiondescription, not {0}"
msgstr ""
#: tiramisu/config.py:141
#: tiramisu/config.py:148
msgid "unknown group_type: {0}"
msgstr ""
#: tiramisu/config.py:180 tiramisu/setting.py:326 tiramisu/value.py:54
#: tiramisu/value.py:645
#: tiramisu/config.py:187 tiramisu/setting.py:334 tiramisu/value.py:54
#: tiramisu/value.py:742
msgid "the context does not exist anymore"
msgstr ""
#: tiramisu/config.py:185
#: tiramisu/config.py:192
msgid "no option description found for this config (may be GroupConfig)"
msgstr ""
#: tiramisu/config.py:213
#: tiramisu/config.py:228
msgid "can't assign to an OptionDescription"
msgstr ""
#: tiramisu/config.py:342
#: tiramisu/config.py:379
msgid "unknown type_ type {0}for _find"
msgstr ""
#: tiramisu/config.py:382
#: tiramisu/config.py:422
msgid "no option found in config with these criteria"
msgstr ""
#: tiramisu/config.py:432
#: tiramisu/config.py:470
msgid "make_dict can't filtering with value without option"
msgstr ""
#: tiramisu/config.py:451
#: tiramisu/config.py:493
msgid "unexpected path {0}, should start with {1}"
msgstr ""
#: tiramisu/config.py:522
#: tiramisu/config.py:567
msgid "opt in getowner must be an option not {0}"
msgstr ""
#: tiramisu/config.py:567
#: tiramisu/config.py:615
msgid "cannot serialize Config with MetaConfig"
msgstr ""
#: tiramisu/config.py:581
#: tiramisu/config.py:629
msgid "this storage is not serialisable, could be a none persistent storage"
msgstr ""
#: tiramisu/config.py:645
#: tiramisu/config.py:693
msgid "invalid name: {0} for config"
msgstr ""
#: tiramisu/config.py:676
#: tiramisu/config.py:724
msgid "groupconfig's children must be a list"
msgstr ""
#: tiramisu/config.py:680
#: tiramisu/config.py:728
msgid "groupconfig's children must be Config, MetaConfig or GroupConfig"
msgstr ""
#: tiramisu/config.py:683
#: tiramisu/config.py:731
msgid "name must be set to config before creating groupconfig"
msgstr ""
#: tiramisu/config.py:691
#: tiramisu/config.py:737
msgid "config name must be uniq in groupconfig for {0}"
msgstr ""
#: tiramisu/config.py:806
#: tiramisu/config.py:846
msgid "metaconfig's children should be config, not {0}"
msgstr ""
#: tiramisu/config.py:810
#: tiramisu/config.py:850
msgid "child has already a metaconfig's"
msgstr ""
#: tiramisu/config.py:814
#: tiramisu/config.py:854
msgid "all config in metaconfig must have the same optiondescription"
msgstr ""
#: tiramisu/config.py:826
#: tiramisu/config.py:869
msgid "force_default, force_default_if_same or force_dont_change_value cannot be set with only_config"
msgstr ""
#: tiramisu/config.py:832
#: tiramisu/config.py:875
msgid "force_default and force_dont_change_value cannot be set together"
msgstr ""
#: tiramisu/option/baseoption.py:57
#: tiramisu/option/baseoption.py:56
msgid "{0} must be a function"
msgstr ""
#: tiramisu/option/baseoption.py:60
#: tiramisu/option/baseoption.py:59
msgid "{0}_params must be a dict"
msgstr ""
#: tiramisu/option/baseoption.py:63
#: tiramisu/option/baseoption.py:62
msgid "{0}_params with key {1} mustn't have length different to 1"
msgstr ""
#: tiramisu/option/baseoption.py:67
#: tiramisu/option/baseoption.py:66
msgid "{0}_params must be tuple for key \"{1}\""
msgstr ""
#: tiramisu/option/baseoption.py:73
#: tiramisu/option/baseoption.py:72
msgid "{0}_params with length of tuple as 1 must only have None as first value"
msgstr ""
#: tiramisu/option/baseoption.py:77
#: tiramisu/option/baseoption.py:76
msgid "{0}_params must only have 1 or 2 as length"
msgstr ""
#: tiramisu/option/baseoption.py:83
#: tiramisu/option/baseoption.py:82
msgid "{0}_params must have an option not a {0} for first argument"
msgstr ""
#: tiramisu/option/baseoption.py:87
#: tiramisu/option/baseoption.py:86
msgid "{0}_params must have a boolean not a {0} for second argument"
msgstr ""
@ -144,155 +148,155 @@ msgstr ""
msgid "invalid name: {0} for option"
msgstr ""
#: tiramisu/option/baseoption.py:111
msgid "a default_multi is set whereas multi is False in option: {0}"
#: tiramisu/option/baseoption.py:105
msgid "default_multi is set whereas multi is False in option: {0}"
msgstr ""
#: tiramisu/option/baseoption.py:122
#: tiramisu/option/baseoption.py:117
msgid "invalid multi value"
msgstr ""
#: tiramisu/option/baseoption.py:127
msgid "invalid properties type {0} for {1}, must be a tuple"
msgstr ""
#: tiramisu/option/baseoption.py:147
#: tiramisu/option/baseoption.py:156
msgid "params defined for a callback function but no callback defined yet for option {0}"
msgstr ""
#: tiramisu/option/baseoption.py:152
#: tiramisu/option/baseoption.py:161
msgid "a callback is already set for option {0}, cannot set another one's"
msgstr ""
#: tiramisu/option/baseoption.py:279
#: tiramisu/option/baseoption.py:245
msgid "cannot serialize Option, only in OptionDescription"
msgstr ""
#: tiramisu/option/baseoption.py:365
#: tiramisu/option/baseoption.py:326 tiramisu/storage/dictionary/option.py:117
msgid "'{0}' ({1}) object attribute '{2}' is read-only"
msgstr ""
#: tiramisu/option/baseoption.py:391
#: tiramisu/option/baseoption.py:350 tiramisu/option/option.py:145
msgid "invalid string"
msgstr ""
#: tiramisu/option/baseoption.py:353
msgid "invalid unicode or string"
msgstr ""
#: tiramisu/option/baseoption.py:551 tiramisu/option/baseoption.py:592
#: tiramisu/option/baseoption.py:493 tiramisu/option/baseoption.py:526
msgid "invalid value for option {0}: {1}"
msgstr ""
#: tiramisu/option/baseoption.py:560
#: tiramisu/option/baseoption.py:500
msgid "do_validation for {0}: error in value"
msgstr ""
#: tiramisu/option/baseoption.py:566
msgid "do_validation for {0}: warning in value"
msgstr ""
#: tiramisu/option/baseoption.py:576
msgid "do_validation for {0}: error in consistency"
msgstr ""
#: tiramisu/option/baseoption.py:580
msgid "do_validation for {0}: warning in consistency"
msgstr ""
#: tiramisu/option/baseoption.py:584
#: tiramisu/option/baseoption.py:518
msgid "warning on the value of the option {0}: {1}"
msgstr ""
#: tiramisu/option/baseoption.py:604 tiramisu/option/baseoption.py:613
#: tiramisu/option/baseoption.py:540 tiramisu/option/baseoption.py:550
msgid "invalid value {0} for option {1} which must be a list"
msgstr ""
#: tiramisu/option/baseoption.py:619
#: tiramisu/option/baseoption.py:556
msgid "invalid value {0} for option {1} which must be a list of list"
msgstr ""
#: tiramisu/option/baseoption.py:672
msgid "'{0}' ({1}) cannot add consistency, option is read-only"
#: tiramisu/option/baseoption.py:599 tiramisu/option/baseoption.py:603
msgid "cannot add consistency with submulti option"
msgstr ""
#: tiramisu/option/baseoption.py:684
msgid "unknow parameter {0} in consistency"
msgstr ""
#: tiramisu/option/baseoption.py:691
#: tiramisu/option/baseoption.py:605
msgid "consistency must be set with an option"
msgstr ""
#: tiramisu/option/baseoption.py:694 tiramisu/option/baseoption.py:701
#: tiramisu/option/baseoption.py:608 tiramisu/option/baseoption.py:615
msgid "almost one option in consistency is in a dynoptiondescription but not all"
msgstr ""
#: tiramisu/option/baseoption.py:697
#: tiramisu/option/baseoption.py:611
msgid "option in consistency must be in same dynoptiondescription"
msgstr ""
#: tiramisu/option/baseoption.py:704
#: tiramisu/option/baseoption.py:618
msgid "cannot add consistency with itself"
msgstr ""
#: tiramisu/option/baseoption.py:706
#: tiramisu/option/baseoption.py:620
msgid "every options in consistency must be multi or none"
msgstr ""
#: tiramisu/option/baseoption.py:710
#: tiramisu/option/baseoption.py:634
msgid "'{0}' ({1}) cannot add consistency, option is read-only"
msgstr ""
#: tiramisu/option/baseoption.py:641
msgid "consistency {0} not available for this option"
msgstr ""
#: tiramisu/option/baseoption.py:739
#: tiramisu/option/baseoption.py:645
msgid "unknow parameter {0} in consistency"
msgstr ""
#: tiramisu/option/baseoption.py:695
msgid "same value for {0} and {1}, should be different"
msgstr ""
#: tiramisu/option/baseoption.py:741
#: tiramisu/option/baseoption.py:697
msgid "same value for {0} and {1}, must be different"
msgstr ""
#: tiramisu/option/baseoption.py:797
#: tiramisu/option/baseoption.py:755
msgid "default value not allowed if option: {0} is calculated"
msgstr ""
#: tiramisu/option/baseoption.py:819
#: tiramisu/option/baseoption.py:775
msgid "malformed requirements type for option: {0}, must be a dict"
msgstr ""
#: tiramisu/option/baseoption.py:825
#: tiramisu/option/baseoption.py:781
msgid "malformed requirements for option: {0} unknown keys {1}, must only {2}"
msgstr ""
#: tiramisu/option/baseoption.py:836
#: tiramisu/option/baseoption.py:789
msgid "malformed requirements for option: {0} require must have option, expected and action keys"
msgstr ""
#: tiramisu/option/baseoption.py:840
#: tiramisu/option/baseoption.py:796
msgid "malformed requirements for option: {0} action cannot be force_store_value"
msgstr ""
#: tiramisu/option/baseoption.py:845
#: tiramisu/option/baseoption.py:801
msgid "malformed requirements for option: {0} inverse must be boolean"
msgstr ""
#: tiramisu/option/baseoption.py:849
#: tiramisu/option/baseoption.py:805
msgid "malformed requirements for option: {0} transitive must be boolean"
msgstr ""
#: tiramisu/option/baseoption.py:853
#: tiramisu/option/baseoption.py:809
msgid "malformed requirements for option: {0} same_action must be boolean"
msgstr ""
#: tiramisu/option/baseoption.py:857
#: tiramisu/option/baseoption.py:813
msgid "malformed requirements must be an option in option {0}"
msgstr ""
#: tiramisu/option/baseoption.py:860
msgid "malformed requirements option {0} must not be a multi for {1}"
#: tiramisu/option/baseoption.py:816
msgid "malformed requirements multi option must not set as requires of non multi option {0}"
msgstr ""
#: tiramisu/option/baseoption.py:867
#: tiramisu/option/baseoption.py:822
msgid "malformed requirements second argument must be valid for option {0}: {1}"
msgstr ""
#: tiramisu/option/baseoption.py:872
#: tiramisu/option/baseoption.py:827
msgid "inconsistency in action types for option: {0} action: {1}"
msgstr ""
#: tiramisu/option/baseoption.py:900
#: tiramisu/option/baseoption.py:855
msgid "malformed symlinkoption must be an option for symlink {0}"
msgstr ""
@ -308,15 +312,19 @@ msgstr ""
msgid "not allowed option {0} in group {1}: this option is not a multi"
msgstr ""
#: tiramisu/option/masterslave.py:53
#: tiramisu/option/masterslave.py:52
msgid "not allowed default value for option {0} in group {1}"
msgstr ""
#: tiramisu/option/masterslave.py:57
msgid "master group with wrong master name for {0}"
msgstr ""
#: tiramisu/option/masterslave.py:63
#: tiramisu/option/masterslave.py:67
msgid "callback of master's option shall not refered a slave's ones"
msgstr ""
#: tiramisu/option/masterslave.py:260
#: tiramisu/option/masterslave.py:283
msgid "invalid len for the slave: {0} which has {1} as master"
msgstr ""
@ -328,240 +336,271 @@ msgstr ""
msgid "values must be a tuple or a function for {0}"
msgstr ""
#: tiramisu/option/option.py:81
#: tiramisu/option/option.py:91
msgid "calculated values for {0} is not a list"
msgstr ""
#: tiramisu/option/option.py:89
#: tiramisu/option/option.py:102
msgid "value {0} is not permitted, only {1} is allowed"
msgstr ""
#: tiramisu/option/option.py:103
#: tiramisu/option/option.py:115
msgid "invalid boolean"
msgstr ""
#: tiramisu/option/option.py:112
#: tiramisu/option/option.py:125
msgid "invalid integer"
msgstr ""
#: tiramisu/option/option.py:121
#: tiramisu/option/option.py:135
msgid "invalid float"
msgstr ""
#: tiramisu/option/option.py:130
msgid "invalid string"
msgstr ""
#: tiramisu/option/option.py:146
#: tiramisu/option/option.py:162
msgid "invalid unicode"
msgstr ""
#: tiramisu/option/option.py:179 tiramisu/option/option.py:182
#: tiramisu/option/option.py:187
#: tiramisu/option/option.py:207 tiramisu/option/option.py:210
#: tiramisu/option/option.py:215
msgid "invalid IP"
msgstr ""
#: tiramisu/option/option.py:193
#: tiramisu/option/option.py:221
msgid "IP is in reserved class"
msgstr ""
#: tiramisu/option/option.py:195
#: tiramisu/option/option.py:223
msgid "invalid IP, mustn't be in reserved class"
msgstr ""
#: tiramisu/option/option.py:199
#: tiramisu/option/option.py:227
msgid "IP is not in private class"
msgstr ""
#: tiramisu/option/option.py:201
#: tiramisu/option/option.py:229
msgid "invalid IP, must be in private class"
msgstr ""
#: tiramisu/option/option.py:206 tiramisu/option/option.py:384
#: tiramisu/option/option.py:234 tiramisu/option/option.py:438
msgid "invalid len for vals"
msgstr ""
#: tiramisu/option/option.py:212
#: tiramisu/option/option.py:240
msgid "IP {0} ({1}) not in network {2} ({3}) with netmask {4} ({5})"
msgstr ""
#: tiramisu/option/option.py:215
#: tiramisu/option/option.py:243
msgid "invalid IP {0} ({1}) not in network {2} ({3}) with netmask {4} ({5})"
msgstr ""
#: tiramisu/option/option.py:257
#: tiramisu/option/option.py:286
msgid "inconsistency in allowed range"
msgstr ""
#: tiramisu/option/option.py:262
#: tiramisu/option/option.py:291
msgid "max value is empty"
msgstr ""
#: tiramisu/option/option.py:283
#: tiramisu/option/option.py:319
msgid "invalid port, range must have two values only"
msgstr ""
#: tiramisu/option/option.py:286
#: tiramisu/option/option.py:322
msgid "invalid port, first port in range must be smaller than the second one"
msgstr ""
#: tiramisu/option/option.py:295
#: tiramisu/option/option.py:329
msgid "invalid port"
msgstr ""
#: tiramisu/option/option.py:297
#: tiramisu/option/option.py:332
msgid "invalid port, must be an integer between {0} and {1}"
msgstr ""
#: tiramisu/option/option.py:311
#: tiramisu/option/option.py:347 tiramisu/option/option.py:350
#: tiramisu/option/option.py:354
msgid "invalid network address"
msgstr ""
#: tiramisu/option/option.py:317
#: tiramisu/option/option.py:360
msgid "network address is in reserved class"
msgstr ""
#: tiramisu/option/option.py:319
#: tiramisu/option/option.py:362
msgid "invalid network address, mustn't be in reserved class"
msgstr ""
#: tiramisu/option/option.py:332
#: tiramisu/option/option.py:376 tiramisu/option/option.py:379
#: tiramisu/option/option.py:383
msgid "invalid netmask address"
msgstr ""
#: tiramisu/option/option.py:349
#: tiramisu/option/option.py:400
msgid "invalid len for opts"
msgstr ""
#: tiramisu/option/option.py:358
#: tiramisu/option/option.py:409
msgid "invalid IP {0} ({1}) with netmask {2}, this IP is a network"
msgstr ""
#: tiramisu/option/option.py:361
#: tiramisu/option/option.py:412
msgid "invalid IP {0} ({1}) with netmask {2}, this IP is a broadcast"
msgstr ""
#: tiramisu/option/option.py:366
#: tiramisu/option/option.py:417
msgid "invalid network {0} ({1}) with netmask {2}"
msgstr ""
#: tiramisu/option/option.py:380
#: tiramisu/option/option.py:434
msgid "invalid broadcast address"
msgstr ""
#: tiramisu/option/option.py:389
#: tiramisu/option/option.py:443
msgid "invalid broadcast {0} ({1}) with network {2} ({3}) and netmask {4} ({5})"
msgstr ""
#: tiramisu/option/option.py:410
#: tiramisu/option/option.py:464
msgid "unknown type_ {0} for hostname"
msgstr ""
#: tiramisu/option/option.py:413
#: tiramisu/option/option.py:467
msgid "allow_ip must be a boolean"
msgstr ""
#: tiramisu/option/option.py:415
#: tiramisu/option/option.py:469
msgid "allow_without_dot must be a boolean"
msgstr ""
#: tiramisu/option/option.py:437
#: tiramisu/option/option.py:495
msgid "invalid domainname's length (min 1)"
msgstr ""
#: tiramisu/option/option.py:439
#: tiramisu/option/option.py:497
msgid "invalid domainname's length (max {0})"
msgstr ""
#: tiramisu/option/option.py:454
#: tiramisu/option/option.py:512
msgid "invalid domainname, must not be an IP"
msgstr ""
#: tiramisu/option/option.py:519
msgid "invalid domainname, must have dot"
msgstr ""
#: tiramisu/option/option.py:456
#: tiramisu/option/option.py:521
msgid "invalid domainname's length (max 255)"
msgstr ""
#: tiramisu/option/option.py:465
#: tiramisu/option/option.py:532
msgid "some characters are uppercase"
msgstr ""
#: tiramisu/option/option.py:468
#: tiramisu/option/option.py:535
msgid "some characters may cause problems"
msgstr ""
#: tiramisu/option/option.py:470
#: tiramisu/option/option.py:537
msgid "invalid domainname"
msgstr ""
#: tiramisu/option/option.py:495
#: tiramisu/option/option.py:563
msgid "invalid email address, must contains one @"
msgstr ""
#: tiramisu/option/option.py:498
#: tiramisu/option/option.py:566
msgid "invalid username in email address"
msgstr ""
#: tiramisu/option/option.py:515
#: tiramisu/option/option.py:588
msgid "invalid url, must start with http:// or https://"
msgstr ""
#: tiramisu/option/option.py:534
#: tiramisu/option/option.py:606
msgid "invalid url, port must be an between 0 and 65536"
msgstr ""
#: tiramisu/option/option.py:541
#: tiramisu/option/option.py:617
msgid "invalid url, must ends with a valid resource name"
msgstr ""
#: tiramisu/option/option.py:556
#: tiramisu/option/option.py:635
msgid "invalid username"
msgstr ""
#: tiramisu/option/option.py:567
#: tiramisu/option/option.py:649
msgid "invalid filename"
msgstr ""
#: tiramisu/option/optiondescription.py:68
#: tiramisu/option/optiondescription.py:73
msgid "duplicate option name: {0}"
msgstr ""
#: tiramisu/option/optiondescription.py:73
#: tiramisu/option/optiondescription.py:78
msgid "option must not start as dynoptiondescription"
msgstr ""
#: tiramisu/option/optiondescription.py:117
msgid "consistency with option {0} which is not in Config"
#: tiramisu/option/optiondescription.py:134
msgid "malformed consistency option {0} must be a master/slaves"
msgstr ""
#: tiramisu/option/optiondescription.py:143
#: tiramisu/option/optiondescription.py:141
msgid "malformed consistency option {0} must not be a multi for {1}"
msgstr ""
#: tiramisu/option/optiondescription.py:145
msgid "malformed consistency option {0} must be in same master/slaves for {1}"
msgstr ""
#: tiramisu/option/optiondescription.py:170
msgid "malformed requirements option {0} must be in same master/slaves for {1}"
msgstr ""
#: tiramisu/option/optiondescription.py:174
msgid "malformed requirements option {0} must not be a multi for {1}"
msgstr ""
#: tiramisu/option/optiondescription.py:183
msgid "duplicate option: {0}"
msgstr ""
#: tiramisu/option/optiondescription.py:154
#: tiramisu/option/optiondescription.py:188
msgid "consistency with option {0} which is not in Config"
msgstr ""
#: tiramisu/option/optiondescription.py:201
msgid "a slave ({0}) cannot have force_store_value property"
msgstr ""
#: tiramisu/option/optiondescription.py:204
msgid "a dynoption ({0}) cannot have force_store_value property"
msgstr ""
#: tiramisu/option/optiondescription.py:218
msgid "cannot change group_type if already set (old {0}, new {1})"
msgstr ""
#: tiramisu/option/optiondescription.py:162
#: tiramisu/option/optiondescription.py:226
msgid "group_type: {0} not allowed"
msgstr ""
#: tiramisu/option/optiondescription.py:260
#: tiramisu/option/optiondescription.py:288
msgid "DynOptionDescription callback return not uniq value"
msgstr ""
#: tiramisu/option/optiondescription.py:263
#: tiramisu/option/optiondescription.py:291
msgid "invalid suffix: {0} for option"
msgstr ""
#: tiramisu/option/optiondescription.py:320
msgid "cannot set optiondescription in an dynoptiondescription"
#: tiramisu/option/optiondescription.py:348
msgid "cannot set optiondescription in a dynoptiondescription"
msgstr ""
#: tiramisu/option/optiondescription.py:325
msgid "cannot set symlinkoption in an dynoptiondescription"
#: tiramisu/option/optiondescription.py:353
#: tiramisu/option/optiondescription.py:356
msgid "cannot set symlinkoption in a dynoptiondescription"
msgstr ""
#: tiramisu/option/optiondescription.py:333
#: tiramisu/option/optiondescription.py:364
msgid "callback is mandatory for dynoptiondescription"
msgstr ""
@ -573,105 +612,102 @@ msgstr ""
msgid "can't unbind {0}"
msgstr ""
#: tiramisu/setting.py:260
#: tiramisu/setting.py:264
msgid "cannot append {0} property for option {1}: this property is calculated"
msgstr ""
#: tiramisu/setting.py:349
msgid "you should only append/remove properties"
msgstr ""
#: tiramisu/setting.py:353
msgid "opt and all_properties must not be set together in reset"
msgstr ""
#: tiramisu/setting.py:373
msgid "if opt is not None, path should not be None in _getproperties"
msgstr ""
#: tiramisu/setting.py:417
#: tiramisu/setting.py:268 tiramisu/setting.py:434
msgid "cannot add those properties: {0}"
msgstr ""
#: tiramisu/setting.py:490
msgid "cannot change the value for option {0} this option is frozen"
#: tiramisu/setting.py:357
msgid "you should only append/remove properties"
msgstr ""
#: tiramisu/setting.py:361
msgid "opt and all_properties must not be set together in reset"
msgstr ""
#: tiramisu/setting.py:382
msgid "if opt is not None, path should not be None in _getproperties"
msgstr ""
#: tiramisu/setting.py:500
msgid "cannot change the value for option {0} this option is frozen"
msgstr ""
#: tiramisu/setting.py:510
msgid "trying to access to an {0} named: {1} with properties {2}"
msgstr ""
#: tiramisu/setting.py:519
#: tiramisu/setting.py:529
msgid "permissive must be a tuple"
msgstr ""
#: tiramisu/setting.py:526 tiramisu/value.py:464
#: tiramisu/setting.py:536 tiramisu/value.py:536
msgid "invalid generic owner {0}"
msgstr ""
#: tiramisu/setting.py:614
#: tiramisu/setting.py:630
msgid "malformed requirements imbrication detected for option: '{0}' with requirement on: '{1}'"
msgstr ""
#: tiramisu/setting.py:625
#: tiramisu/setting.py:647
msgid "option '{0}' has requirement's property error: {1} {2}"
msgstr ""
#: tiramisu/storage/__init__.py:49
#: tiramisu/storage/__init__.py:52
msgid "storage_type is already set, cannot rebind it"
msgstr ""
#: tiramisu/storage/__init__.py:60
#: tiramisu/storage/__init__.py:63
msgid "cannot import the storage {0}"
msgstr ""
#: tiramisu/storage/__init__.py:93
#: tiramisu/storage/__init__.py:96
msgid "option {0} not already exists in storage {1}"
msgstr ""
#: tiramisu/storage/__init__.py:131
msgid "unable to get storages:"
msgstr ""
#: tiramisu/storage/dictionary/option.py:96
#: tiramisu/storage/dictionary/option.py:102
msgid "invalid default_multi value {0} for option {1}: {2}"
msgstr ""
#: tiramisu/storage/dictionary/option.py:138
#: tiramisu/storage/sqlalchemy/option.py:439 tiramisu/value.py:528
#: tiramisu/storage/dictionary/option.py:142
#: tiramisu/storage/dictionary/value.py:234
#: tiramisu/storage/sqlalchemy/option.py:441
msgid "information's item not found: {0}"
msgstr ""
#: tiramisu/storage/dictionary/option.py:365
#: tiramisu/storage/sqlalchemy/option.py:483
#: tiramisu/storage/dictionary/option.py:383
msgid "use impl_get_opt_by_path only with root OptionDescription"
msgstr ""
#: tiramisu/storage/dictionary/option.py:385
#: tiramisu/storage/sqlalchemy/option.py:485
msgid "no option for path {0}"
msgstr ""
#: tiramisu/storage/dictionary/option.py:369
#: tiramisu/storage/sqlalchemy/option.py:492
#: tiramisu/storage/dictionary/option.py:390
#: tiramisu/storage/sqlalchemy/option.py:494
msgid "use impl_get_path_by_opt only with root OptionDescription"
msgstr ""
#: tiramisu/storage/dictionary/option.py:373
#: tiramisu/storage/sqlalchemy/option.py:493
#: tiramisu/storage/dictionary/option.py:392
#: tiramisu/storage/sqlalchemy/option.py:495
msgid "no option {0} found"
msgstr ""
#: tiramisu/storage/dictionary/option.py:422
#: tiramisu/storage/dictionary/option.py:439
msgid "cannot find dynpath"
msgstr ""
#: tiramisu/storage/dictionary/option.py:512
#: tiramisu/storage/sqlalchemy/option.py:638
#: tiramisu/storage/dictionary/option.py:528
#: tiramisu/storage/sqlalchemy/option.py:640
msgid "suffix and context needed if it's a dyn option"
msgstr ""
#: tiramisu/storage/dictionary/option.py:525
msgid "{0} instance has no attribute '_readonly'"
msgstr ""
#: tiramisu/storage/dictionary/option.py:539
#: tiramisu/storage/sqlalchemy/option.py:668
#: tiramisu/storage/dictionary/option.py:549
#: tiramisu/storage/sqlalchemy/option.py:670
msgid "unknown Option {0} in OptionDescription {1}"
msgstr ""
@ -680,63 +716,63 @@ msgid "dictionary storage cannot delete session"
msgstr ""
#: tiramisu/storage/dictionary/storage.py:48
#: tiramisu/storage/sqlalchemy/storage.py:66
msgid "session already used"
msgstr ""
#: tiramisu/storage/dictionary/storage.py:50
#: tiramisu/storage/dictionary/value.py:252
msgid "a dictionary cannot be persistent"
msgstr ""
#: tiramisu/value.py:65
msgid "optiondescription has no value"
#: tiramisu/storage/dictionary/value.py:243
msgid "information's item not found {0}"
msgstr ""
#: tiramisu/value.py:350
#: tiramisu/value.py:391
msgid "you should only set value with config"
msgstr ""
#: tiramisu/value.py:432
#: tiramisu/value.py:500
msgid "owner only avalaible for an option"
msgstr ""
#: tiramisu/value.py:471
#: tiramisu/value.py:541
msgid "no value for {0} cannot change owner to {1}"
msgstr ""
#: tiramisu/value.py:572
#: tiramisu/value.py:671
msgid "can force cache only if cache is actived in config"
msgstr ""
#: tiramisu/value.py:611
#: tiramisu/value.py:708
msgid "{0} is already a Multi "
msgstr ""
#: tiramisu/value.py:682
#: tiramisu/value.py:786
msgid "cannot append a value on a multi option {0} which is a slave"
msgstr ""
#: tiramisu/value.py:709
#: tiramisu/value.py:817
msgid "cannot sort multi option {0} if master or slave"
msgstr ""
#: tiramisu/value.py:713
#: tiramisu/value.py:821
msgid "cmp is not permitted in python v3 or greater"
msgstr ""
#: tiramisu/value.py:722
#: tiramisu/value.py:830
msgid "cannot reverse multi option {0} if master or slave"
msgstr ""
#: tiramisu/value.py:730
#: tiramisu/value.py:837
msgid "cannot insert multi option {0} if master or slave"
msgstr ""
#: tiramisu/value.py:746
#: tiramisu/value.py:854
msgid "cannot extend multi option {0} if master or slave"
msgstr ""
#: tiramisu/value.py:781
#: tiramisu/value.py:889
msgid "cannot pop a value on a multi option {0} which is a slave"
msgstr ""