Commit Graph

450 Commits

Author SHA1 Message Date
Emmanuel Garette ac5bf93953 add check_frozen in slave 2017-05-06 19:54:20 +02:00
Emmanuel Garette 6ca3e236f9 reset cache when permissive is added 2017-04-20 11:20:37 +02:00
Emmanuel Garette ac6ea1e7e4 support delitem for Multi 2017-03-17 21:27:42 +01:00
Emmanuel Garette 7977efe246 check uniq value for a slave 2017-03-06 22:35:32 +01:00
Emmanuel Garette 58a90a3707 good value for callback for a slave that return a list 2017-03-02 21:21:03 +01:00
Emmanuel Garette 5bf75b3824 error in external function should returns only ConfigError 2017-02-12 10:38:57 +01:00
Emmanuel Garette 80f6f4ba03 error in external function should returns explicit error message 2017-02-11 18:11:05 +01:00
Emmanuel Garette 695de030ef coverage for tiramisu/value.py 2017-02-11 17:22:50 +01:00
Emmanuel Garette d8f36766ee coverage for tiramisu/option/masterslave.py 2017-02-04 14:34:56 +01:00
Emmanuel Garette 56e180dc31 coverage for tiramisu/option/option.py 2017-02-04 10:21:44 +01:00
Emmanuel Garette 722779ebf7 coverage 2017-02-03 23:39:24 +01:00
Emmanuel Garette 2db15e193e require with inverse 2017-01-30 19:23:52 +01:00
Emmanuel Garette 4b01eb6497 add test test_symlink_getproperties and test_symlink_getcallback 2017-01-26 21:55:10 +01:00
Emmanuel Garette 85857ea781 add test test_validator_params_value_values_kwargs_empty 2017-01-26 21:40:08 +01:00
Emmanuel Garette 7b0a9891e2 test lenght for a slave that have list as callback_params 2017-01-26 21:18:57 +01:00
Emmanuel Garette 372ce5ea1e validate value when we calculate it 2017-01-26 21:01:54 +01:00
Emmanuel Garette f497e99002 remove unicode decode error 2017-01-19 21:38:16 +01:00
Emmanuel Garette e2159fd307 validator's function can have 1 arg, 2 args or 3 args 2017-01-18 15:54:30 +01:00
Emmanuel Garette 9920f001ea validator's function can have 1 arg, 2 args or 3 args 2017-01-16 09:25:56 +01:00
Emmanuel Garette 89fd367b20 validator's function can have 1 arg, 2 args or 3 args 2017-01-12 21:58:53 +01:00
Emmanuel Garette 01b7fc873e can mix inversed and non inversed requires 2017-01-12 19:52:03 +01:00
Emmanuel Garette 18d6976183 copy the context in carry_out_calculation 2017-01-11 22:58:01 +01:00
Emmanuel Garette 7fe47396ee correction in fullpath option 2017-01-09 20:16:38 +01:00
Emmanuel Garette 66f24bd1c0 add fullpath to make_dict 2017-01-06 21:01:24 +01:00
Emmanuel Garette df90e74819 mandatories masterslaves with consistency and default value is acceptable 2016-12-07 17:28:31 +01:00
Emmanuel Garette 8e7b4101f1 coverage 2016-11-20 18:02:10 +01:00
Emmanuel Garette 0f4b1caca4 warnings only if needed 2016-11-20 14:32:06 +01:00
Emmanuel Garette 42d830687d add unique parameter to option 2016-11-19 19:16:31 +01:00
Emmanuel Garette fc36f674eb consistency "not_equal" works now with multi 2016-11-16 22:31:42 +01:00
Emmanuel Garette fb16dd2a79 slave's requires with multi is different than slave's requires with non multi option 2016-11-14 21:14:45 +01:00
Emmanuel Garette a14e156a63 pooling EmailOption, UsernameOption and FilenameOption 2016-10-21 22:56:40 +02:00
Emmanuel Garette 24ec5a9112 don't display warning in mandatory_warnings 2016-10-14 21:31:39 +02:00
Emmanuel Garette 2e4fdbca03 transitive in apply_requires should only by apply if properties are same has testing action 2016-10-12 22:17:04 +02:00
Emmanuel Garette c31590c2ac consistency is now check not_equal if one option has PropertiesOptionError 2016-10-12 21:58:37 +02:00
Emmanuel Garette 1b87e1d9bb Merge branch '2.0' 2016-10-12 20:50:12 +02:00
Emmanuel Garette 071035854b slave with requires could not raise 2016-10-12 20:49:56 +02:00
Emmanuel Garette e6a949635f some improvements 2016-10-10 21:41:22 +02:00
Emmanuel Garette c81a2bcdbf better sqlalchemy integration 2016-10-01 20:15:08 +02:00
Emmanuel Garette 69de44bbb4 better sqlalchemy integration 2016-09-30 22:45:33 +02:00
Emmanuel Garette 6fbc4accb9 Merge remote-tracking branch 'origin/2.0' 2016-09-22 08:28:03 +02:00
Emmanuel Garette 6d71749014 force_store_value is rebuild if needed 2016-09-22 08:27:18 +02:00
Emmanuel Garette 19b676967d better propertyerror message 2016-09-14 20:17:25 +02:00
Emmanuel Garette 408e4cf088 better error messages 2016-09-11 20:41:36 +02:00
Emmanuel Garette 3a5b1090c7 domainname must not be an IP 2016-08-31 15:50:10 +02:00
Emmanuel Garette 6cfa0fc216 use relative importation 2016-06-30 10:43:51 +02:00
Emmanuel Garette 44d585a5e2 better mandatory/empty support for mandatory_warnings 2016-06-29 21:42:54 +02:00
Emmanuel Garette 7460f38a88 update sqlalchemy storage for values et settings 2016-03-29 09:31:00 +02:00
Emmanuel Garette e91568e6b6 Validation should return exception, not raises exception
Don't check force_store_value for SymLinkOption
2016-03-24 19:43:41 +01:00
Emmanuel Garette f03a31b454 master.slave[-1] = val now works correctly 2016-03-21 17:06:38 +01:00
Emmanuel Garette 7305cfa134 python 3.4 support 2016-03-19 21:27:37 +01:00
Emmanuel Garette 924692d3ab valid correctly consistencies for master/slaves 2016-03-18 19:55:41 +01:00
Emmanuel Garette 5a5231c2d8 test: set force_permissive to append 2016-03-18 16:41:59 +01:00
Emmanuel Garette 100a0110cd support callback with propertyerror in master for mandatory_warnings 2016-03-17 22:06:16 +01:00
Emmanuel Garette cb89c74201 don't check 'mandatory' setting for symlink 2016-03-16 22:33:28 +01:00
Emmanuel Garette 8c733d5303 update setup.py 2016-03-10 14:50:27 +01:00
Emmanuel Garette 32592b9289 setitem for a slave only modify current value 2016-03-08 23:18:42 +01:00
Emmanuel Garette 35ffde841b add force_permissive to Values.is_default_owner 2016-03-07 16:34:36 +01:00
Emmanuel Garette da89c1aa58 force_store_value is now used directly when configuration is loaded 2016-03-07 16:13:41 +01:00
Emmanuel Garette 51d14f30a4 can set owner for a slave 2016-01-25 16:22:28 +01:00
Emmanuel Garette f4307b9122 cannot append properties for option with forbidden_set_properties 2016-01-25 15:49:40 +01:00
Emmanuel Garette b521c459ee remove all try/except 2016-01-03 21:18:52 +01:00
Emmanuel Garette e8764f6173 remove some try/except + consistency not works with submulti 2016-01-03 13:23:15 +01:00
Emmanuel Garette ce162280ad simplify _setvalue 2015-12-31 18:20:36 +01:00
Emmanuel Garette 97d7352a5b better support for dynoptiondescription 2015-12-23 23:30:57 +01:00
Emmanuel Garette df233d3165 add some optimisations 2015-12-22 22:06:14 +01:00
Emmanuel Garette a97c3c682a some optimisation 2015-12-18 22:44:46 +01:00
Emmanuel Garette 4d4d789c8a simplification 2015-12-17 22:41:57 +01:00
Emmanuel Garette 98200ecae5 improvemnt information 2015-11-30 15:55:34 +01:00
Emmanuel Garette a521a6d322 requires could be apply to a slave and properties could be different 2015-11-29 23:03:08 +01:00
Emmanuel Garette c2a6772ec2 impl_get_values with calculated values and no context should return [] 2015-11-26 19:42:33 +01:00
Emmanuel Garette ab555966f7 use python-coverage to delete dead part of code 2015-11-24 10:58:19 +01:00
Emmanuel Garette 54ca54e505 separate value in slave 2015-11-19 22:25:00 +01:00
Emmanuel Garette 11d23bc8d8 unserialise information and requires attribute 2015-11-01 10:35:17 +01:00
Emmanuel Garette 445516ce34 support multi when picklise object 2015-10-30 22:51:36 +01:00
Emmanuel Garette 2cdd80b83d support context param in picklisation 2015-10-30 22:51:24 +01:00
Emmanuel Garette a0de1109f7 optimise mandatory_warnings 2015-10-29 09:03:13 +01:00
Emmanuel Garette 64e9171ea6 valid properties for slaves when set or append a master's value 2015-10-26 15:39:07 +01:00
Emmanuel Garette 15d94d5fff domainname with only one character is now allowed 2015-10-12 17:06:15 +02:00
Emmanuel Garette 3aad913868 check with option as parameter 2015-09-17 21:25:32 +02:00
Emmanuel Garette 5ea92d3460 need new settings when create fake_config 2015-09-17 19:14:56 +02:00
Emmanuel Garette 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
Emmanuel Garette 1da83edfba add duplicate option to Config 2015-07-24 18:05:51 +02:00
Emmanuel Garette 44cd618704 remove pep8 validation errors 2015-07-24 17:54:10 +02:00
Emmanuel Garette 487b99b32c for a multi mandatory, allow [] with allow_empty_list attribut 2015-04-20 14:49:43 +02:00
Emmanuel Garette 072246a203 URLOption: allow uppercase in resource name 2015-04-19 09:46:39 +02:00
Emmanuel Garette 2c6275ffbd remove slave values when delete a master without value 2015-04-19 09:37:46 +02:00
Emmanuel Garette 2b019027be valid Option is an unicode or a string if needed 2015-04-19 09:15:18 +02:00
Emmanuel Garette 057bba83e4 ValueError if not PropertieError 2015-04-18 23:46:37 +02:00
Emmanuel Garette d959020eed ability to disable warnings validation 2015-04-18 23:11:57 +02:00
Emmanuel Garette 10768a6067 refactor validation 2015-04-18 22:53:45 +02:00
Emmanuel Garette c566ad1111 valid default/callback value in consistencies 2015-03-08 12:03:49 +01:00
Emmanuel Garette 85297d8c4d test uppercase character before valid domain name for better error message 2014-12-07 14:51:51 +01:00
Emmanuel Garette bc65caa4dc mandatory master/slave's consistency with default value as slave 2014-12-07 14:39:23 +01:00
Emmanuel Garette 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
Emmanuel Garette a801951a78 can reset slave value in all case when deleting master value 2014-12-01 23:08:56 +01:00
Emmanuel Garette 71e69cd0bf if consistency with multiple option return if transitive 2014-12-01 23:02:55 +01:00
Emmanuel Garette 7646071efd propertyerror are transitive in consistency, now it's possible to set non-transitive consistency 2014-12-01 22:58:53 +01:00
Emmanuel Garette 2ccf92f879 improve GroupConfig/MetaConfig
add set_value in GroupConfig
2014-12-01 21:49:50 +01:00
Emmanuel Garette c6c331eb54 in find_firsts get option only one time 2014-11-11 11:31:23 +01:00
Emmanuel Garette f03cbeadb7 better performance in find_firsts
_is_build_cache not set in dictionary storage
2014-11-10 21:00:30 +01:00
Emmanuel Garette 4217508f3f works on sqlalchemy storage 2014-11-10 09:13:44 +01:00
Emmanuel Garette c75867720f add force_permissive in mandatory_warnings 2014-10-26 16:39:24 +01:00
Emmanuel Garette f730050f7c pass force_permissive to slave for a master or to master for a slave 2014-10-26 16:19:06 +01:00
Emmanuel Garette 4310d59991 add force_permissive to config __iter__ 2014-10-26 10:26:23 +01:00
Emmanuel Garette a130cff4bf frozen with force_default_on_freeze can change owner 2014-10-26 09:44:06 +01:00
Emmanuel Garette ed3373cff0 bad characters in DomainnameOption could be in warning level 2014-10-26 09:38:17 +01:00
Emmanuel Garette 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
Emmanuel Garette 9ad6cd905c allow number as first letter of a domainname with netbios type 2014-10-25 22:58:46 +02:00
Emmanuel Garette 471af4fd75 cannot add unvalaible consistency for an option 2014-10-25 22:48:42 +02:00
Emmanuel Garette 9f3d676280 reduce memory usage 2014-10-25 22:11:31 +02:00
Emmanuel Garette 71f8926fca better support for sqlalchemy storage 2014-07-06 15:31:57 +02:00
Emmanuel Garette b64189f763 add DynOptionDescription 2014-06-19 23:22:39 +02:00
Emmanuel Garette 888446e4c5 remove unjustified open_values parameters in ChoiceOption 2014-04-27 10:44:19 +02:00
Emmanuel Garette 9112a8c5b0 add SubMulti 2014-04-26 22:37:01 +02:00
Emmanuel Garette b6a0f188b2 force_store_value now support Multi 2014-04-18 21:33:15 +02:00
Emmanuel Garette 6d8137160c 'getattr' in optiondescription can return a bound method 2014-04-15 21:48:31 +02:00
Emmanuel Garette 7c8164090a uncomment more test 2014-04-14 23:00:37 +02:00
Emmanuel Garette 9bec52273a we can pickle object 2014-04-14 22:53:40 +02:00
Emmanuel Garette 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
Emmanuel Garette 299e51e806 start works on storage 2014-04-12 22:47:52 +02:00
Emmanuel Garette 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
Emmanuel Garette cd4d3527c7 split tiramisu/option.py and add MasterSlaves object 2014-04-12 17:55:13 +02:00
Emmanuel Garette a1f0c29713 Merge modification made for 1.0's branch 2014-04-02 12:06:11 +02:00
Emmanuel Garette 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
Emmanuel Garette a3c5e6034f Merge branch 'force_permissive'
Conflicts:
	test/test_freeze.py
2014-03-31 22:38:56 +02:00
Emmanuel Garette 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
Emmanuel Garette ff5376a382 properties are check now in getowner
get_modified_values works good with force_store_value
2014-03-29 20:31:56 +01:00
Emmanuel Garette 712db2875e force_store_value works now with permissive 2014-03-28 17:36:02 +01:00
Emmanuel Garette 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
Emmanuel Garette f7d31bfa92 Merge branch 'master' into force-cache
Conflicts:
	translations/fr/tiramisu.po
	translations/tiramisu.pot
2014-03-15 10:09:19 +01:00
Emmanuel Garette 88b5af9810 Merge branch 'master' into better_warnings 2014-03-12 22:13:20 +01:00
Emmanuel Garette 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
Emmanuel Garette 5f46763696 add test for consistency with callback 2014-03-12 16:44:48 +01:00
Emmanuel Garette 544cd93c73 can make_dict with disabled suboption 2014-03-12 14:57:36 +01:00
Emmanuel Garette 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
Emmanuel Garette db9ab7a1e9 test if cache property is not set in config when force_cache 2014-03-09 20:22:29 +01:00
Emmanuel Garette 6e8b570a37 mandatory_warnings is now in values and add force_cache to values 2014-03-09 20:06:44 +01:00
Emmanuel Garette d3f9d20ab5 add extend in config setting 2014-03-08 18:53:22 +01:00
Emmanuel Garette 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
Emmanuel Garette 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
Emmanuel Garette 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
Emmanuel Garette 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
Emmanuel Garette 194c82faad tests pass now with dictionary and sqlalchemy storage 2014-02-16 23:37:27 +01:00
Emmanuel Garette 0aeb64731b comment state test 2014-02-06 22:25:04 +01:00
Emmanuel Garette 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
Emmanuel Garette e7531e1fda more tests 2014-02-06 22:17:20 +01:00
Emmanuel Garette 72f06bc29d properties option in consistencies are now allowed 2014-02-06 19:19:48 +01:00