Commit Graph

387 Commits

Author SHA1 Message Date
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
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
Emmanuel Garette 6f5d471db1 if option with requires has a property, calculated properties are store in storage 2014-02-05 10:37:39 +01:00
Emmanuel Garette 98bd35ad36 Merge branch 'master' into orm
Conflicts:
	tiramisu/config.py
	tiramisu/option.py
2014-02-04 21:54:30 +01:00
Emmanuel Garette c52b2f84f4 if option with requires has a property, calculated properties are store in storage 2014-02-04 21:40:07 +01:00
Emmanuel Garette a067d2cdd9 add some tests 2014-02-04 21:14:30 +01:00
Emmanuel Garette 5646fc35a2 Merge branch 'master' into orm
Conflicts:
	test/test_parsing_group.py
2014-02-03 22:11:58 +01:00
Emmanuel Garette 8d10ad4002 add tests 2014-02-02 22:47:46 +01:00
Emmanuel Garette 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
Emmanuel Garette 26158fc3c4 update test for metaconfig serialization 2014-02-02 18:33:21 +01:00
Emmanuel Garette f8faec408f Merge branch 'master' into metaconfig 2014-02-02 18:21:22 +01:00
Emmanuel Garette ced260046c test for multi 2014-02-02 18:21:09 +01:00
Emmanuel Garette 683e40fbb5 when change len of calculated master, change len of slave too 2014-02-02 18:20:01 +01:00
Emmanuel Garette 8709386570 __getattr__ OD 2014-02-01 18:35:18 +01:00
Emmanuel Garette 2f40216fad Merge branch 'master' into orm 2014-02-01 17:25:39 +01:00
Emmanuel Garette 71b235551e add tests for find() 2014-02-01 17:25:31 +01:00
Emmanuel Garette cddeef0990 Merge branch 'master' into orm 2014-02-01 16:49:29 +01:00
Emmanuel Garette f48f3e7544 add tests for find() 2014-02-01 16:49:16 +01:00
Emmanuel Garette 313b03b246 cache in sql works 2014-02-01 16:26:23 +01:00
Emmanuel Garette 02a987b39d sqlalchemy 2014-01-30 22:55:15 +01:00
Emmanuel Garette 2eb63c917b active callback's slave verification 2014-01-28 09:14:56 +01:00
Emmanuel Garette 7c8049a8d0 Merge branch 'master' into orm 2014-01-27 23:28:43 +01:00
Emmanuel Garette a1dd2cfce7 require works well in sqlalchemy storage 2014-01-27 17:16:05 +01:00
gwen 9deb67f887 warning and error messages not translated in the tests 2014-01-27 14:55:53 +01:00
Emmanuel Garette 880b6366eb Merge branch 'master' into orm
Conflicts:
	tiramisu/setting.py
2014-01-25 16:39:32 +01:00
Emmanuel Garette 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
Emmanuel Garette 3b3e5216fe cache 2014-01-25 10:15:25 +01:00
Emmanuel Garette 661f844ce6 sqlalchemy has a storage 2014-01-20 14:53:14 +01:00
Emmanuel Garette 068f68460d Merge branch 'master' into orm 2014-01-18 10:25:09 +01:00
Emmanuel Garette 9d92ab84d7 regression: permissive for option is apply every time, not only when global permissive is set 2014-01-16 09:49:37 +01:00
Emmanuel Garette cde04d654a Merge branch 'master' into orm
Conflicts:
	tiramisu/setting.py
2014-01-09 20:32:17 +01:00
gwen 3c36e05d82 adds test for an API 2014-01-06 14:40:29 +01:00
Emmanuel Garette 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
Emmanuel Garette c58de18b62 add more tests 2013-12-09 18:56:29 +01:00
Emmanuel Garette 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
Emmanuel Garette bb1f6947e3 better name's validation 2013-12-09 17:55:52 +01:00
Emmanuel Garette 6e4f19eebe more tests 2013-12-09 15:43:45 +01:00
Emmanuel Garette 0f966f6d26 check if permissive is in global properties before allow permissive for an option 2013-12-09 15:29:37 +01:00
Emmanuel Garette 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 029452ccbc validation of an ip if an ip term starts with a zero 2013-12-02 15:10:05 +01:00
Emmanuel Garette 374c56a9c8 first version with sqlalchemy option's storage 2013-11-23 23:34:17 +01:00
Emmanuel Garette eb3327cd75 correction in allow_without_dot + test 2013-10-01 10:13:17 +02:00
Emmanuel Garette 6902ad4f18 some extra tests for filename 2013-10-01 08:23:10 +02:00
Emmanuel Garette 2dcdbb137e rename FileOption to FilenameOption
python 3 support
2013-10-01 08:19:10 +02:00
Emmanuel Garette 0a83a9261f update invalid's message and display all informations when raises 2013-09-30 22:56:08 +02:00
Emmanuel Garette cce080cbd3 add FileOption 2013-09-30 21:21:47 +02:00
Emmanuel Garette 1a294e3d09 refactor DomainnameOption
add options EmailOption and URLOption
2013-09-30 19:41:56 +02:00
Emmanuel Garette feeb9842f5 serialize metaconfig/groupconfig 2013-09-30 16:22:08 +02:00
Emmanuel Garette 6b7db20716 Merge branch 'master' into metaconfig 2013-09-28 22:49:50 +02:00
Emmanuel Garette 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
Emmanuel Garette 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
Emmanuel Garette f4677b9ef9 use warnings instead of a new dictionary 2013-09-26 21:56:06 +02:00
Emmanuel Garette f040d3da61 warning is now a dict 2013-09-26 18:35:20 +02:00
Emmanuel Garette e63dbf308d more tests for warnings 2013-09-26 09:31:51 +02:00
Emmanuel Garette 329b9ac349 add _second_level_validation (second's one return only warning almost _validator raise) 2013-09-25 21:10:45 +02:00
Emmanuel Garette 06baff2f3b add warning ability 2013-09-24 23:19:20 +02:00
Emmanuel Garette 3fc89be40e comment tiramisu/autolib.py + some modification 2013-09-23 22:40:10 +02:00
Emmanuel Garette ff7714d8d3 add find test value in a multi's option 2013-09-22 21:31:37 +02:00
Emmanuel Garette c84d13a1c6 we can serialize Config now 2013-09-22 20:57:52 +02:00
Emmanuel Garette 972dff0a1c serialize new callback 2013-09-20 23:47:40 +02:00
Emmanuel Garette ae4df32d0e error if change slave len for default's slave option 2013-09-19 23:02:15 +02:00
Emmanuel Garette 28c416dd84 add allow_reserved in IPOption 2013-09-19 21:51:55 +02:00