Commit Graph

845 Commits

Author SHA1 Message Date
19b676967d better propertyerror message 2016-09-14 20:17:25 +02:00
408e4cf088 better error messages 2016-09-11 20:41:36 +02:00
c21949c637 better error messages 2016-09-11 16:18:23 +02:00
3a5b1090c7 domainname must not be an IP 2016-08-31 15:50:10 +02:00
44d585a5e2 better mandatory/empty support for mandatory_warnings 2016-06-29 21:42:54 +02:00
0c8398e4a6 add PasswordOption 2016-05-17 15:28:36 +02:00
d1c9250e34 better validation for Ip/Network/Netmask Option 2016-05-17 14:10:30 +02:00
ef5bcbf98b user could delete informations set in config 2016-04-28 11:31:04 +02:00
a76815dd1f support slave with list has calculated value 2016-04-08 16:21:50 +02:00
6ef85c4974 force_permissive in cfgimpl_get_home_by_path 2016-04-07 16:14:01 +02:00
9f36e679a1 incomplet error message in validation 2016-04-06 16:14:39 +02:00
7460f38a88 update sqlalchemy storage for values et settings 2016-03-29 09:31:00 +02:00
e91568e6b6 Validation should return exception, not raises exception
Don't check force_store_value for SymLinkOption
2016-03-24 19:43:41 +01:00
f03a31b454 master.slave[-1] = val now works correctly 2016-03-21 17:06:38 +01:00
7305cfa134 python 3.4 support 2016-03-19 21:27:37 +01:00
924692d3ab valid correctly consistencies for master/slaves 2016-03-18 19:55:41 +01:00
9adfffe339 set force_permissive to append 2016-03-17 23:16:21 +01:00
100a0110cd support callback with propertyerror in master for mandatory_warnings 2016-03-17 22:06:16 +01:00
952c880d10 callback could raises (not only returns) 2016-03-17 19:14:02 +01:00
cb89c74201 don't check 'mandatory' setting for symlink 2016-03-16 22:33:28 +01:00
777542844f path not already initialize 2016-03-14 22:18:21 +01:00
3b872cb8c9 better support for setowner 2016-03-09 15:48:14 +01:00
32592b9289 setitem for a slave only modify current value 2016-03-08 23:18:42 +01:00
35ffde841b add force_permissive to Values.is_default_owner 2016-03-07 16:34:36 +01:00
da89c1aa58 force_store_value is now used directly when configuration is loaded 2016-03-07 16:13:41 +01:00
51d14f30a4 can set owner for a slave 2016-01-25 16:22:28 +01:00
8a21d49948 setattr instead of _setattr 2016-01-25 15:57:34 +01:00
f4307b9122 cannot append properties for option with forbidden_set_properties 2016-01-25 15:49:40 +01:00
2842abdd46 remove try/except 2016-01-06 22:37:11 +01:00
b521c459ee remove all try/except 2016-01-03 21:18:52 +01:00
e8764f6173 remove some try/except + consistency not works with submulti 2016-01-03 13:23:15 +01:00
cc6b4ad7c4 remove a try/except 2015-12-31 18:35:31 +01:00
ce162280ad simplify _setvalue 2015-12-31 18:20:36 +01:00
d0e2b5d8c4 remove some try/except 2015-12-30 22:32:07 +01:00
729db2ceec remove some try/except 2015-12-28 22:00:46 +01:00
7b2d0c0c4a remove some try/except 2015-12-28 21:40:40 +01:00
14489c3ef5 remove some try/except 2015-12-26 10:57:20 +01:00
97d7352a5b better support for dynoptiondescription 2015-12-23 23:30:57 +01:00
df233d3165 add some optimisations 2015-12-22 22:06:14 +01:00
93ce93e529 some optimisations 2015-12-18 23:35:45 +01:00
a97c3c682a some optimisation 2015-12-18 22:44:46 +01:00
4d4d789c8a simplification 2015-12-17 22:41:57 +01:00
ce8b73507f _getmaster must use cached value 2015-12-16 23:04:00 +01:00
59f59b0b1b add some optimisation 2015-12-14 23:37:15 +01:00
98200ecae5 improvemnt information 2015-11-30 15:55:34 +01:00
a521a6d322 requires could be apply to a slave and properties could be different 2015-11-29 23:03:08 +01:00
c2a6772ec2 impl_get_values with calculated values and no context should return [] 2015-11-26 19:42:33 +01:00
ab555966f7 use python-coverage to delete dead part of code 2015-11-24 10:58:19 +01:00
54ca54e505 separate value in slave 2015-11-19 22:25:00 +01:00
a248508498 extend properties must save setting only if all properties are correct 2015-11-01 11:12:27 +01:00
8d33fd4500 setting must have public method to get getproperties with path 2015-11-01 10:57:36 +01:00
11d23bc8d8 unserialise information and requires attribute 2015-11-01 10:35:17 +01:00
2cdd80b83d support context param in picklisation 2015-10-30 22:51:24 +01:00
a0de1109f7 optimise mandatory_warnings 2015-10-29 09:03:13 +01:00
64e9171ea6 valid properties for slaves when set or append a master's value 2015-10-26 15:39:07 +01:00
15d94d5fff domainname with only one character is now allowed 2015-10-12 17:06:15 +02:00
3aad913868 check with option as parameter 2015-09-17 21:25:32 +02:00
5ea92d3460 need new settings when create fake_config 2015-09-17 19:14:56 +02:00
9da7e89176 empty property only available for multi 2015-07-27 09:32:42 +02:00
8e7a32de08 add global 'empty' property, this property raise mandatory PropertiesOptionError if multi or master have empty value 2015-07-26 19:13:25 +02:00
44cd618704 remove pep8 validation errors 2015-07-24 17:54:10 +02:00
6cc74506fb Some optimisations 2015-05-03 09:56:03 +02:00
487b99b32c for a multi mandatory, allow [] with allow_empty_list attribut 2015-04-20 14:49:43 +02:00
072246a203 URLOption: allow uppercase in resource name 2015-04-19 09:46:39 +02:00
2c6275ffbd remove slave values when delete a master without value 2015-04-19 09:37:46 +02:00
6fc921fc19 difference between option/optiondescription in PropertiesOptionError message 2015-04-19 09:25:49 +02:00
2b019027be valid Option is an unicode or a string if needed 2015-04-19 09:15:18 +02:00
057bba83e4 ValueError if not PropertieError 2015-04-18 23:46:37 +02:00
d959020eed ability to disable warnings validation 2015-04-18 23:11:57 +02:00
10768a6067 refactor validation 2015-04-18 22:53:45 +02:00
c566ad1111 valid default/callback value in consistencies 2015-03-08 12:03:49 +01:00
85297d8c4d test uppercase character before valid domain name for better error message 2014-12-07 14:51:51 +01:00
bc65caa4dc mandatory master/slave's consistency with default value as slave 2014-12-07 14:39:23 +01:00
4fde28a15e in_network's consistency now verify that IP is not network or broadcast's IP + ip_netmask's consistency now verify that IP is not broadcast's IP 2014-12-01 23:16:00 +01:00
a801951a78 can reset slave value in all case when deleting master value 2014-12-01 23:08:56 +01:00
71e69cd0bf if consistency with multiple option return if transitive 2014-12-01 23:02:55 +01:00
7646071efd propertyerror are transitive in consistency, now it's possible to set non-transitive consistency 2014-12-01 22:58:53 +01:00
2ccf92f879 improve GroupConfig/MetaConfig
add set_value in GroupConfig
2014-12-01 21:49:50 +01:00
c6c331eb54 in find_firsts get option only one time 2014-11-11 11:31:23 +01:00
7c5b6e2db2 improve performance 2014-11-10 23:15:08 +01:00
f03cbeadb7 better performance in find_firsts
_is_build_cache not set in dictionary storage
2014-11-10 21:00:30 +01:00
4217508f3f works on sqlalchemy storage 2014-11-10 09:13:44 +01:00
c75867720f add force_permissive in mandatory_warnings 2014-10-26 16:39:24 +01:00
f730050f7c pass force_permissive to slave for a master or to master for a slave 2014-10-26 16:19:06 +01:00
4310d59991 add force_permissive to config __iter__ 2014-10-26 10:26:23 +01:00
a130cff4bf frozen with force_default_on_freeze can change owner 2014-10-26 09:44:06 +01:00
ed3373cff0 bad characters in DomainnameOption could be in warning level 2014-10-26 09:38:17 +01:00
8a59e27396 f option is frozen with force_default_on_freeze property, owner must be 'default' check property when tried to change owner 2014-10-26 08:51:45 +01:00
0728625afd add consistency name in error if consistency not exists 2014-10-25 23:00:04 +02:00
9ad6cd905c allow number as first letter of a domainname with netbios type 2014-10-25 22:58:46 +02:00
471af4fd75 cannot add unvalaible consistency for an option 2014-10-25 22:48:42 +02:00
8f950620f7 tiramisu/i18n.py : Removing call of gettext.install
This call make translation fail in gen_config, the new way to use
gettext don't need to use this call.

Conflicts:
	tiramisu/i18n.py
2014-10-25 22:23:55 +02:00
gwen
44c96f3a60 replace ugettext by a simple gettext 2014-10-25 22:22:00 +02:00
gwen
a408a583fb i18n with ugettext instead of gettext 2014-10-25 22:21:23 +02:00
9f3d676280 reduce memory usage 2014-10-25 22:11:31 +02:00
58c22aa70f better support for sqlalchemy storage 2014-07-06 15:35:13 +02:00
71f8926fca better support for sqlalchemy storage 2014-07-06 15:31:57 +02:00
3cc2d9ca3d add TIRAMISU_STORAGE environment variable 2014-06-20 16:29:38 +02:00
b64189f763 add DynOptionDescription 2014-06-19 23:22:39 +02:00
888446e4c5 remove unjustified open_values parameters in ChoiceOption 2014-04-27 10:44:19 +02:00
31fff062e1 Values in ChoiceOption can be a function now 2014-04-27 10:36:47 +02:00
9112a8c5b0 add SubMulti 2014-04-26 22:37:01 +02:00
b6a0f188b2 force_store_value now support Multi 2014-04-18 21:33:15 +02:00
22860099ba report/generate.py: corrections 2014-04-17 18:47:48 +02:00
6d8137160c 'getattr' in optiondescription can return a bound method 2014-04-15 21:48:31 +02:00
9bec52273a we can pickle object 2014-04-14 22:53:40 +02:00
a1753afb8c add consistencies's storage 2014-04-13 10:35:43 +02:00
66c82ee582 Merge branch 'orm' of ssh://git.labs.libre-entreprise.org/gitroot/tiramisu into orm 2014-04-13 10:31:51 +02:00
5d8b5719a0 Merge branch 'master' into orm
Conflicts:
	test/test_config_api.py
	tiramisu/autolib.py
	tiramisu/config.py
	tiramisu/option.py
	tiramisu/value.py
2014-04-13 10:30:42 +02:00
bf180bc115 add missing file 2014-04-12 23:13:28 +02:00
299e51e806 start works on storage 2014-04-12 22:47:52 +02:00
aa0734591d change None to undefined when it's needed 2014-04-12 21:57:17 +02:00
3ab0688c46 Arity change, remove force_properties:
* tiramisu/config.py (in cfgimpl_get_home_by_path and getattr)
 * tiramisu/value.py (in getitem):
2014-04-12 21:37:20 +02:00
cd4d3527c7 split tiramisu/option.py and add MasterSlaves object 2014-04-12 17:55:13 +02:00
d1e86f6d48 Merge branch 'log' 2014-04-03 22:16:08 +02:00
da434a4273 add logger in validation 2014-04-03 22:15:41 +02:00
a1f0c29713 Merge modification made for 1.0's branch 2014-04-02 12:06:11 +02:00
76a43a7ff9 if slave has a callback with a slave that has a callback with a default_multi's slave, now it's works 2014-04-02 12:04:50 +02:00
463fc8e88a if opt is freeze with force_default_on_freeze, didn't remove store value 2014-04-01 21:01:01 +02:00
967a48412d Merge branch '_getattr' 2014-04-01 09:51:43 +02:00
0b2e5f90e2 same arity for _getattr and getattr 2014-04-01 09:51:25 +02:00
1ae6f0c6e8 Merge branch 'mandatory' 2014-04-01 09:29:34 +02:00
150b490200 config.mandatory_warnings return always None 2014-04-01 09:29:07 +02:00
a3c5e6034f Merge branch 'force_permissive'
Conflicts:
	test/test_freeze.py
2014-03-31 22:38:56 +02:00
cd52729952 add force_permissive in config's method (iter_all, iter_group, find, find_first and make_dict)
rename _getattr to getattr
2014-03-31 22:34:57 +02:00
ff5376a382 properties are check now in getowner
get_modified_values works good with force_store_value
2014-03-29 20:31:56 +01:00
712db2875e force_store_value works now with permissive 2014-03-28 17:36:02 +01:00
84f0095c2f update translation 2014-03-26 20:48:06 +01:00
835d6d6da0 context could be useful in a callback, now we can retrieve context in a function (be careful to infinite loop) 2014-03-26 19:47:42 +01:00
b3d04a1f68 update warning's message 2014-03-24 21:18:43 +01:00
a04a61f1a4 Merge branch 'master' into lgpl 2014-03-15 10:11:17 +01:00
f7d31bfa92 Merge branch 'master' into force-cache
Conflicts:
	translations/fr/tiramisu.po
	translations/tiramisu.pot
2014-03-15 10:09:19 +01:00
f43ef2dafe now there are two warnings_only's level:
- option's level for validation and _second_level_validation
- consistencies level
2014-03-13 14:12:44 +01:00
88b5af9810 Merge branch 'master' into better_warnings 2014-03-12 22:13:20 +01:00
ff802b46e5 consistencies can make a warning instead of raises
for that, you have to set something like:
  a.impl_add_consistency('not_equal', b, warnings_only=True)

warning product now adapted message
2014-03-12 21:56:53 +01:00
544cd93c73 can make_dict with disabled suboption 2014-03-12 14:57:36 +01:00
d7b04ebed0 add consistency in_network for IPOption
This new consistency can validate that an IPv4 is a specified (network/netmask) network
2014-03-11 18:57:19 +01:00
db9ab7a1e9 test if cache property is not set in config when force_cache 2014-03-09 20:22:29 +01:00
6f4a881320 Merge branch 'master' into force-cache 2014-03-09 20:14:32 +01:00
f2154e2322 update translation 2014-03-09 20:14:17 +01:00
6e8b570a37 mandatory_warnings is now in values and add force_cache to values 2014-03-09 20:06:44 +01:00
d3f9d20ab5 add extend in config setting 2014-03-08 18:53:22 +01:00
c175519211 pep8 2014-03-06 22:09:44 +01:00
9f903d3e04 add username's option 2014-03-06 22:09:12 +01:00
gwen
f3a826a8d7 Merge branch 'master' of ssh://git.labs.libre-entreprise.org/gitroot/tiramisu 2014-02-25 16:19:49 +01:00
gwen
0c9d6554ae a hostname shall not start with a number 2014-02-25 15:20:03 +01:00
gwen
716d2b2348 allows a DomainnameOption to start with a number 2014-02-25 15:16:15 +01:00
d5b83c123c tiramisu/setting.py : properties store in cache was a reference to a list modified in validation, should copy properties in cache 2014-02-20 16:55:35 +01:00
bf0501b1d6 tiramisu/setting.py : properties store in cache was a reference to a list modified in validation, should copy properties in cache 2014-02-20 14:27:29 +01:00
8d751ecc9b valid port type before compare to min and max value 2014-02-17 18:36:29 +01:00
fc7f3c24a5 properties option in consistencies are now allowed
Conflicts:
	tiramisu/option.py (PortOption._validate): Strange try/except
	removed.
2014-02-17 17:45:37 +01:00
194c82faad tests pass now with dictionary and sqlalchemy storage 2014-02-16 23:37:27 +01:00
21c8ed5d76 Merge branch 'master' into orm
Conflicts:
	test/test_option_consistency.py
	test/test_state.py
	tiramisu/option.py
2014-02-06 22:24:50 +01:00
e7531e1fda more tests 2014-02-06 22:17:20 +01:00
72f06bc29d properties option in consistencies are now allowed 2014-02-06 19:19:48 +01:00
Daniel Dehennin
f8ac263c86 Hotfix release 1.0~2.4.1
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iF4EABEKAAYFAlLyBpcACgkQWjgIUPVihwwhyQD/Ri/R6wO/zk49ILx5UzPdDDcU
 UCWxsKvbCIloO76BMcIA/0nx/6PUVc/v3iag5reNvtrXJQzdKlprmkjvBhLalVJS
 =w09x
 -----END PGP SIGNATURE-----

Merge tag 'release/1.0_2.4.1'

Hotfix release 1.0~2.4.1
2014-02-05 11:22:17 +01:00
6f5d471db1 if option with requires has a property, calculated properties are store in storage 2014-02-05 10:37:39 +01:00
5febdf3a3f set self._extra before 'super' 2014-02-04 21:55:57 +01:00
98bd35ad36 Merge branch 'master' into orm
Conflicts:
	tiramisu/config.py
	tiramisu/option.py
2014-02-04 21:54:30 +01:00
c52b2f84f4 if option with requires has a property, calculated properties are store in storage 2014-02-04 21:40:07 +01:00
a067d2cdd9 add some tests 2014-02-04 21:14:30 +01:00
5646fc35a2 Merge branch 'master' into orm
Conflicts:
	test/test_parsing_group.py
2014-02-03 22:11:58 +01:00
8d10ad4002 add tests 2014-02-02 22:47:46 +01:00
5897231421 Merge branch 'master' into orm
Conflicts:
	test/test_dereference.py
	test/test_state.py
	tiramisu/config.py
	tiramisu/value.py
2014-02-02 18:52:13 +01:00
26158fc3c4 update test for metaconfig serialization 2014-02-02 18:33:21 +01:00
f8faec408f Merge branch 'master' into metaconfig 2014-02-02 18:21:22 +01:00
683e40fbb5 when change len of calculated master, change len of slave too 2014-02-02 18:20:01 +01:00
8709386570 __getattr__ OD 2014-02-01 18:35:18 +01:00
313b03b246 cache in sql works 2014-02-01 16:26:23 +01:00
02a987b39d sqlalchemy 2014-01-30 22:55:15 +01:00
2eb63c917b active callback's slave verification 2014-01-28 09:14:56 +01:00
217a1989c7 validator in sqlalchemy 2014-01-27 23:28:22 +01:00
a1dd2cfce7 require works well in sqlalchemy storage 2014-01-27 17:16:05 +01:00
d3f42efe85 typo 2014-01-25 18:38:51 +01:00
880b6366eb Merge branch 'master' into orm
Conflicts:
	tiramisu/setting.py
2014-01-25 16:39:32 +01:00
138018dfe9 if we delete all reference to a Config and we have reference to old SubConfig, Values, Multi or Settings, make a ConfigError instead of AttributError on NoneType object 2014-01-25 11:20:11 +01:00
cbfb5a45b0 Merge branch 'master' into orm 2014-01-25 10:22:17 +01:00
3b3e5216fe cache 2014-01-25 10:15:25 +01:00
gwen
21a67971c5 typo propertive -> property 2014-01-24 09:17:46 +01:00
3b0b3cdfd9 p8p 2014-01-20 14:58:48 +01:00
661f844ce6 sqlalchemy has a storage 2014-01-20 14:53:14 +01:00
068f68460d Merge branch 'master' into orm 2014-01-18 10:25:09 +01:00
9d92ab84d7 regression: permissive for option is apply every time, not only when global permissive is set 2014-01-16 09:49:37 +01:00
eabe3bc55f corrections 2014-01-16 09:28:10 +01:00
36cd79058f use polymorphism 2014-01-09 21:42:32 +01:00
cde04d654a Merge branch 'master' into orm
Conflicts:
	tiramisu/setting.py
2014-01-09 20:32:17 +01:00
gwen
40ecddf242 docstring 2014-01-06 15:32:28 +01:00
gwen
3c36e05d82 adds test for an API 2014-01-06 14:40:29 +01:00
gwen
f0ecbf4914 adds an extend API for the settings 2014-01-06 14:32:56 +01:00
172a33f842 mandatory_warnings never raises ConfigError 2013-12-16 14:20:35 +01:00
64ca069a0b Merge branch 'master' into orm
Conflicts:
	test/test_config.py
	tiramisu/autolib.py
	tiramisu/option.py
	tiramisu/value.py
2013-12-12 17:50:42 +01:00
1e880f4bc6 remove unused code 2013-12-09 18:48:44 +01:00
73745be440 Important behavior change : to add default_multi value, now use Multi.append(), not Multi.append(None) 2013-12-09 17:59:39 +01:00
bb1f6947e3 better name's validation 2013-12-09 17:55:52 +01:00
0f966f6d26 check if permissive is in global properties before allow permissive for an option 2013-12-09 15:29:37 +01:00
20bef5ff04 Important behavior change in callback with multi.
Before, tiramisu iterable multi's callback_params in all cases.
Now, this append only if multi's callback_params are in master/slave group.
2013-12-09 15:08:14 +01:00
gwen
deb174f36e imprecise error message 2013-12-05 09:59:07 +01:00
e153cf0e28 no more used and_ 2013-12-04 16:28:11 +01:00
gwen
5fb79fed38 an error message has been deleted by error, ref #6740 2013-12-04 15:55:53 +01:00
gwen
48b662997e an error message has been deleted by error 2013-12-04 15:48:19 +01:00
gwen
029452ccbc validation of an ip if an ip term starts with a zero 2013-12-02 15:10:05 +01:00
374c56a9c8 first version with sqlalchemy option's storage 2013-11-23 23:34:17 +01:00
gwen
384b30210c find and find_first's new argument 2013-11-04 17:15:47 +01:00
b606d23801 add imp_meta 2013-10-15 18:23:36 +02:00
615cad4b49 EmailOption and URLOption : let user choose attr for DomainnameOption 2013-10-01 20:01:38 +02:00
eb3327cd75 correction in allow_without_dot + test 2013-10-01 10:13:17 +02:00
2dcdbb137e rename FileOption to FilenameOption
python 3 support
2013-10-01 08:19:10 +02:00
0a83a9261f update invalid's message and display all informations when raises 2013-09-30 22:56:08 +02:00
c8a20eefb5 update invalid's message and display all informations when raises 2013-09-30 22:54:46 +02:00
cce080cbd3 add FileOption 2013-09-30 21:21:47 +02:00
1a294e3d09 refactor DomainnameOption
add options EmailOption and URLOption
2013-09-30 19:41:56 +02:00
feeb9842f5 serialize metaconfig/groupconfig 2013-09-30 16:22:08 +02:00
6b7db20716 Merge branch 'master' into metaconfig 2013-09-28 22:49:50 +02:00
b7f85b8559 Merge branch 'master' into lgpl 2013-09-28 18:43:46 +02:00
70f684e70c tiramisu/option.py:
separate _consistencies (for Option) and _cache_consistencies (for OptionDescription)
  _launch_consistency need index for multi's option
  _cons_not_equal support multi options

tiramisu/value.py:
  Multi._validate support consistency
2013-09-28 17:05:01 +02:00
482dfec7f2 consistancies can have more than one option
add _cons_broadcast
2013-09-27 23:27:08 +02:00
gwen
2490d00935 refactor name only_private 2013-09-27 11:28:23 +02:00
gwen
162ae02df8 refactor (warnings_only) 2013-09-27 09:52:18 +02:00
3073940ca4 can't assign to an OptionDescription 2013-09-26 22:35:12 +02:00
1d2008fd84 error message for ip/broadcast/netmask/network validation 2013-09-26 22:27:39 +02:00
a004f30e34 french translation correction 2013-09-26 22:11:25 +02:00
f4677b9ef9 use warnings instead of a new dictionary 2013-09-26 21:56:06 +02:00
f040d3da61 warning is now a dict 2013-09-26 18:35:20 +02:00
329b9ac349 add _second_level_validation (second's one return only warning almost _validator raise) 2013-09-25 21:10:45 +02:00
4e0f0a5b70 config_error is an exception, raise directly config_error 2013-09-25 10:22:31 +02:00
06baff2f3b add warning ability 2013-09-24 23:19:20 +02:00
a08af2383d comment config 2013-09-23 22:55:54 +02:00
3fc89be40e comment tiramisu/autolib.py + some modification 2013-09-23 22:40:10 +02:00
26e3651848 update french translation 2013-09-23 21:00:45 +02:00
8a7078d3b0 gpl to lgpl 2013-09-22 22:33:09 +02:00
d2f101b7bb didnot getattr a second time in find if not needed 2013-09-22 21:54:07 +02:00
051f1c8774 tiramisu/config.py:
- find byvalue support Multi

tiramisu/value.py:
 - Multi's pop comment
2013-09-22 21:23:12 +02:00
c84d13a1c6 we can serialize Config now 2013-09-22 20:57:52 +02:00
972dff0a1c serialize new callback 2013-09-20 23:47:40 +02:00
ae4df32d0e error if change slave len for default's slave option 2013-09-19 23:02:15 +02:00
28c416dd84 add allow_reserved in IPOption 2013-09-19 21:51:55 +02:00
90ae9aa70d refactore carry_out_calculation + test + documentation 2013-09-19 21:39:41 +02:00
gwen
30ff0fb72b Merge branch 'master' of ssh://git.labs.libre-entreprise.org/gitroot/tiramisu 2013-09-17 14:03:03 +02:00
866364059c dont change anything if config_error 2013-09-17 09:10:08 +02:00
7165f73292 add metaconfig 2013-09-17 09:02:10 +02:00
57f4dd8d3f allow mandatory value (see 9ddf100118 for more details) 2013-09-16 20:51:13 +02:00
gwen
653eb776bf Merge branch 'master' of ssh://git.labs.libre-entreprise.org/gitroot/tiramisu 2013-09-16 15:21:18 +02:00
gwen
ffc9d086f9 double negation in error msg 2013-09-16 15:21:08 +02:00
9ddf100118 when we get an option's value, we need it's values to calculate properties (ie for mandatory's option)
if a disabled option has a callback to an other disabled value, it's raise ConfigError

now only raise if option has no other propertiesError
2013-09-16 15:07:34 +02:00
abbb7a274e update doc 2013-09-14 14:44:50 +02:00
28ea4f0e90 update doc 2013-09-10 21:04:12 +02:00
3dc72c505c support no expire in getcache 2013-09-07 22:37:13 +02:00
632de1cffb comment tiramisu/setting.py 2013-09-07 22:16:50 +02:00
371f094dcb comment tiramisu/setting.py 2013-09-07 21:47:17 +02:00
77c1ccf40b add 'cache' property 2013-09-07 17:25:22 +02:00
f8b0a53c3f cache is always a dictionary in memory 2013-09-07 10:31:39 +02:00
c8876ab184 comment storage 2013-09-06 23:53:19 +02:00
22bfbb9fa4 storage no more in setting.py, code is now in storage/__init__.py 2013-09-06 23:15:36 +02:00
gwen
18fc5db4ac lists in sets 2013-09-06 09:05:19 +02:00
dc688ad644 ro/rw_append/remove are now 'set' type 2013-09-04 09:09:45 +02:00
gwen
02873f2836 Merge branch 'master' of ssh://git.labs.libre-entreprise.org/gitroot/tiramisu 2013-09-04 09:05:25 +02:00
gwen
9983739b2b pep8 line too long 2013-09-04 09:05:12 +02:00
3b733d1b4f support cache consistencies + no consistencies for a symlink + test 2013-09-03 22:41:18 +02:00
gwen
fc9f6ce816 Merge branch 'master' of ssh://git.labs.libre-entreprise.org/gitroot/tiramisu 2013-09-03 11:01:37 +02:00
gwen
f9fde44b3b docstrings 2013-09-03 11:01:07 +02:00
aeeaf6ec14 impl_get_information and impl_set_information are, now, persistent in storage 2013-09-03 10:38:38 +02:00
0212a15387 add __setstate__ to loads from a serialised object 2013-09-02 23:04:37 +02:00
cc3a33ef4f true serialize for _children 2013-09-02 21:29:41 +02:00
84b7ec7b37 update __slots__ for Option/BaseOption 2013-09-02 20:46:51 +02:00
8ccfba1671 factorise Option and OptionDescription init 2013-09-02 20:37:23 +02:00
f106f3ced7 cannot set properties if those properties are in requirement 2013-09-02 19:47:00 +02:00
4636a977cc requirements: calculate all requirements for an option 2013-09-02 17:13:43 +02:00
gwen
5624a69e41 merge 2013-09-02 15:11:38 +02:00
gwen
7dd9394b84 makefile and docstrings 2013-09-02 15:06:55 +02:00
2c1da6d72e an OptionDescription can be serialized 2013-09-02 15:01:49 +02:00
d3ee2acaab can export options 2013-09-01 22:20:11 +02:00
82b375ade5 - add "make build-pot" to build or update translations/tiramisu.pot files
- corrections in error's message in tiramisu/option.py
- update tiramisu.pot
- update fr's translation
2013-08-31 09:54:23 +02:00
5893f8ad72 attributes in Option are now read-only if option set in Config (_name is everytime read-only) 2013-08-30 21:15:55 +02:00
gwen
5efc62af09 docstring setpermissive 2013-08-29 09:32:32 +02:00
8aa4260404 test force_default_on_freeze with multi and correction in Multi() 2013-08-28 22:50:35 +02:00
7f755e0ef8 setpermissive should have opt has option 2013-08-28 22:05:44 +02:00
gwen
fbf05ba5e4 python 3 compatibility
remove __eq__ and __ne__ in Option
2013-08-28 21:13:42 +02:00
776524a22d pep8 2013-08-28 09:18:48 +02:00
397a600be7 pep8 2013-08-28 09:16:12 +02:00
3be005e82e add test test/test_dereference.py + memoryleaks in optiondescription's cache 2013-08-27 21:36:52 +02:00
d75cef9c0f pep8 2013-08-27 17:13:20 +02:00
gwen
a894a5e27b rename API add_owner -> addowner 2013-08-27 16:12:53 +02:00
acd27fb56c huge use of weakrefs to remove memoryleaks due to circular references 2013-08-27 11:39:32 +02:00
36def6533f store session in dictionary storage 2013-08-27 09:46:52 +02:00
fb1eba39ea save storage with get_storage
list_sessions and delete_session is now in setting directly
2013-08-26 21:54:41 +02:00
0bc47b1cf9 ConstError in tiramisu/error.py
storage_type is now unique
rename _const => _NameSpace
can change storage's options in set_storage

storage :
add Setting object in storage
rename enumerate to list_sessions
rename delete to delete_session
auto-create owner when load sqlite3 storage and in getowner
2013-08-26 21:48:42 +02:00
gwen
551b9fb1e3 getting stated documentation 2013-08-26 17:14:14 +02:00
6b9d5aed59 add enumerate and delete method for manage storage 2013-08-25 21:57:11 +02:00
dc2c173b44 revert change in append of Multi object for sqlite3 storage 2013-08-25 20:51:29 +02:00
dcb12dac02 can change storage with set_storage, storage's name is store in storage object and storage is create with get_storage 2013-08-25 20:49:24 +02:00
36ed6f874f add some tests for values
cannot use __setitem__ to set value for an option
in append, len should not greater than master option
2013-08-25 18:06:07 +02:00
f482737a47 add test to known if has a value + some corrections 2013-08-24 23:10:35 +02:00
e4c129efc5 getowner need now an option 2013-08-24 22:32:54 +02:00
4c27cb586d in __setattr__, name should never be object's variable name
remove context in type_ find's option
find_first_context return AttributError if no results
2013-08-24 21:26:10 +02:00
6708fe4522 is not config in other, __neq__ should return True 2013-08-24 18:04:19 +02:00
a7d784ba3e is not config in other, __neq__ should return True 2013-08-24 18:04:11 +02:00
196d270cc9 _calc_requirement is a set, not a tuple 2013-08-24 16:34:08 +02:00
c2b16d2605 add _path in reset for performance + more tests 2013-08-24 16:30:46 +02:00
gwen
0db7ef72a6 automatic API documentation 2013-08-23 11:16:26 +02:00
f8422c03e8 reqpath is get from option, so reqpath ever exists, cannot raise AttributeError 2013-08-22 22:52:29 +02:00
04aa4e6bf1 never same calculated properties has properties (only in cache) 2013-08-22 22:48:09 +02:00
gwen
747d994762 documentation on the requirements and docstring updates 2013-08-22 11:08:26 +02:00
1ddd88fc99 some corrections in sqlite3 storage 2013-08-21 23:21:28 +02:00
b6bb685ca5 key is now always path and change opt by path dictionary storage 2013-08-21 22:21:50 +02:00
707a215a2c pep8 2013-08-21 18:34:32 +02:00
gwen
acca6d5a27 documentation update and docstrings 2013-08-21 17:21:09 +02:00
gwen
7d2449380c documentation and docstring updates 2013-08-21 14:52:48 +02:00
gwen
a431b46fb9 Merge branch 'master' of ssh://git.labs.libre-entreprise.org/gitroot/tiramisu 2013-08-21 11:10:15 +02:00
gwen
defae40a2f documentation update and docstrings 2013-08-21 11:09:11 +02:00
cc569efcc7 pep8 2013-08-20 23:00:20 +02:00
0d5a447eb3 add persistent option for db 2013-08-20 22:45:11 +02:00
d971448d02 pep8 2013-08-20 16:48:19 +02:00
2e8c75a602 merge from val_prop_plugin branch 2013-08-20 16:45:54 +02:00
82b0e26568 merge from val_prop_plugin branch 2013-08-20 16:44:52 +02:00
gwen
5c8bb1f8f9 documentation update 2013-08-20 16:38:06 +02:00
ace7f6f828 merge from master 2013-08-20 16:33:32 +02:00
gwen
564fecc261 pep 8 lines too long 2013-08-20 12:08:02 +02:00
e826f3d1c6 we can personalise storage easily 2013-08-20 09:47:12 +02:00
df7d6759cd add sqlite plugin 2013-08-19 11:01:21 +02:00
f6f709f83d split cache/value/setting in plugin 2013-08-14 23:06:31 +02:00
513722ed57 corrections in tiramisu's setting 2013-07-23 14:24:42 +02:00
e9ffd96a28 update translation 2013-07-18 21:25:07 +02:00
e6c3104681 translation 2013-07-17 23:05:43 +02:00
bc054d75af translation 2013-07-17 23:02:50 +02:00
15ac8c2872 update french translation 2013-07-17 22:30:35 +02:00
8056387f02 return true error message when validation 2013-07-17 20:48:46 +02:00
de44daafeb - can reset directly custom settings for an option: setting[option].reset()
- option properties are now tuple in internal, and change it to set when needed (that coping data)
2013-07-13 10:42:10 +02:00
gwen
a95f19d5f4 default settings 2013-07-12 16:20:34 +02:00
c53d574ac2 can't use RESERVED address in IPOption and NetworkOption 2013-07-11 23:06:26 +02:00
1c951558da add new option's type: PortOption 2013-07-11 23:05:33 +02:00
c06659012b Config: __str__ raise if no str/unicode value 2013-07-03 21:56:31 +02:00
0afb521766 support multi requirement with inverse for same option 2013-07-03 15:04:15 +02:00
gwen
b80bef0f7e string.format with numeric parameters 2013-07-02 15:05:50 +02:00
4b5d9b4229 __str__ method could return unicode object, force to decode in str 2013-07-01 16:49:10 +02:00
b8bfa02e02 Remove 'build_actions' in 'apply_requires', now 'validate_requires_arg' build requires with tuple of tuple
New _requires format:
- requirement (like old format)
- tuple of requirements, each items are a tuple of requirement with same action
2013-07-01 11:55:32 +02:00
9b134c3aa7 requirement are now a dictionary (not anymore a tuple) 2013-06-29 18:41:14 +02:00
e501c6d12d support multi requires with inverse set to True 2013-06-28 11:59:51 +02:00
75f7e7ce5d callback with option in params which is in an hidden optiondescription 2013-06-26 16:26:42 +02:00
32de14b731 validate_requires_arg return requires list 2013-06-26 16:25:02 +02:00
3c0629e6a9 better raise message if try to launch impl_get_information/impl_set_information in uncompatible class 2013-06-14 17:52:57 +02:00
4d15c91383 symlink support for getowner and raise if option in master/slave 2013-06-13 22:06:49 +02:00
c2471320c3 apply_requires: add property if any property raise PropertyError if same_action is False 2013-06-13 14:43:51 +02:00
755b2312c2 allow None in requirement 2013-06-13 12:15:46 +02:00
fd02a954ca add sort, reverse, insert and extend in Multi 2013-06-12 22:48:22 +02:00
9c47eb32d5 ConfigError, not PropertiesOptionError if cannot access to option in carry_out_calculation 2013-06-12 17:07:29 +02:00
0d114001f4 Works callback/multi/master-slave
- in multi, never modify _default value
- _reset slave when _reset master
- if append None in master with callback return not a list, replace None by the value
- list support in slave
2013-06-12 10:22:50 +02:00
b2538f6f0b support of non multi variable 2013-06-11 15:31:20 +02:00
6d1cf308b2 Better support for slave with callback:
- callback must return single value, not a list
- if default value, append slave values with master len
- if not default and append, set default value
2013-06-11 15:12:31 +02:00
gwen
22f0aab0a8 fix i18n 2013-06-10 17:45:03 +02:00
gwen
9cf30d214d raise ConfigError 2013-06-10 17:12:57 +02:00