Commit Graph

863 Commits

Author SHA1 Message Date
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
gwen
1c70a07d7e transitivity in the requirements 2013-06-10 15:19:00 +02:00
2751a2694a RequirementRecursiveError => RequirementError
Properties in "apply_requires" are now transitive (but only if tested property is in properties list)
New requirement option (a boolean), don't touch properties if PropertyError in "apply_requires"
2013-05-31 23:30:00 +02:00
gwen
c6c422f472 docstrings and api 2013-05-23 17:51:50 +02:00
gwen
879a415e75 add docstrings 2013-05-23 14:55:52 +02:00
gwen
0e6032dd88 new api documentation 2013-05-21 18:42:56 +02:00
gwen
480ed190aa Merge branch 'master' of ssh://git.labs.libre-entreprise.org/gitroot/tiramisu 2013-05-21 11:38:02 +02:00
gwen
9acb522791 doc is ready for the new api refactoring 2013-05-21 11:37:39 +02:00
e131fdc5a5 add cfgimpl_get_children for MetaConfig and informations 2013-05-21 11:09:09 +02:00
1d8c248d1b Multi: don't touch slave's value if it's default one's + don't check slave properties (if, for example, disabled for example) 2013-05-21 11:09:09 +02:00
gwen
988bd659b8 refactoring the doc for the 0.55 new API 2013-05-15 17:35:49 +02:00
gwen
89dca8d707 suppress get_consistencies() method 2013-05-14 17:40:42 +02:00
536eb27904 multi, None and validation 2013-05-10 22:34:07 +02:00
gwen
bd489346a9 docstrings 2013-05-10 16:02:27 +02:00
c91e7eff97 if not need, don't validate 2013-05-10 16:00:53 +02:00
fa5d643aee tiramisu/autolib.py: optimpl_ => impl_
tiramisu/option.py: consistency simplication and allow multi
tiramisu/option.py: don't touch cache if force_permissive or force_properties
tiramisu/values.py: set validate paramaters in Multi()
2013-05-10 15:10:06 +02:00
6ffd71a43e DomainnameOption now works with default value 2013-05-10 09:27:54 +02:00
6de65859b4 * config herite from BaseInformation class
* _cfgimpl_ => _impl_
* optimpl_ => impl_
* properties/permissives are now set/frozenset
* validation raise ValueError if not valid, didn't return anything otherwise
* consistencies are now validate in setting and when deleting value
* ip/network with netmask consistency now works
* DomainnameOption now works
* if no validation, don't set cache for value
* symlinkoption: remove path (not used)
2013-05-08 18:14:42 +02:00
1b29793e0f compare option 2013-05-05 21:43:19 +02:00
2d57ed160e work on MetaConfig 2013-05-02 11:34:57 +02:00
9ceaa4b235 tiramisu/i18n.py: pep8 compliants 2013-05-02 11:23:47 +02:00
bcfc0cd41b tiramisu/setting.py: _get_properties and validate_properties are now more easier to read and has best performance 2013-05-02 11:23:04 +02:00
2c5bbb7bc0 Requires need option, not path
Valid requires
2013-04-26 14:40:44 +02:00
509f41e14c missing properties in PropertiesOptionError 2013-04-24 17:40:16 +02:00
f28288fbba In make_dict check PropertyConfigError for OptionDescription
Begin work's on MetaConfig
2013-04-24 11:47:01 +02:00
2e21f13387 force_store_value store value but not in write mode 2013-04-23 16:43:39 +02:00
e8bc84ab33 Ajout des fichiers de traduction et mise à jour de i18n.py
Support du chargement des locales
2013-04-23 16:30:24 +02:00
7cd44d6886 remove an unused callback in test 2013-04-23 11:41:16 +02:00
20fe56e03d tiramisu/values: _empty should not validate with defaultvalue, defaultvalue is already in value 2013-04-23 10:41:47 +02:00
e5de0234c2 don't raise if check_disabled is True 2013-04-22 20:42:54 +02:00
ec88d817ae missing import 2013-04-22 16:48:56 +02:00
1fd5f685de callback must be a function and validator support same paramaters has callback 2013-04-22 16:48:13 +02:00
e883e5b89e remove _setoption in SymLinkOption
objimpl_ => optimpl_
ConflictConfigError => ConflictError
add read_write/read_only/getowner in Config
2013-04-22 09:19:05 +02:00
682d9fe207 add option name's validation and rename Option method with objimpl_ 2013-04-20 21:58:52 +02:00
d4ef47759e Manipulate properties is now more convenient:
c.cfgimpl_get_settings().has_property('hidden') => 'hidden' in c.cfgimpl_get_settings()
c.cfgimpl_get_settings().has_property('hidden', option1) => 'frozen' in c.cfgimpl_get_settings()[opt]

c.cfgimpl_get_settings().get_properties(option1) => c.cfgimpl_get_settings()[option1]
c.cfgimpl_get_settings().get_properties(option1) => c.cfgimpl_get_settings()[option1]

c.cfgimpl_get_settings().add_property('hidden', option1) => c.cfgimpl_get_settings()[optiont1].append('hidden')
c.cfgimpl_get_settings().del_property('hidden', option1) => c.cfgimpl_get_settings()[optiont1].remove('hidden')

c.cfgimpl_get_settings().enable_property('hidden') => c.cfgimpl_get_settings().append('hidden')
c.cfgimpl_get_settings().disable_property('hidden') => c.cfgimpl_get_settings().remove('hidden')
2013-04-20 17:30:05 +02:00
54fe8d0f4b cache for properties is now in get_properties and not for validate_properties 2013-04-20 11:25:14 +02:00
a11768ef43 remove expired cache with config.cfgimpl_reset_cache(True) 2013-04-19 22:42:33 +02:00
d7b5d9dc16 add SlaveError for slave's length 2013-04-19 20:23:34 +02:00
410add6a2a add SlaveError for slave's length 2013-04-19 20:10:55 +02:00
e08bd93cd8 all multi gestion is now in Multi 2013-04-18 23:06:14 +02:00
324c3d2cf6 * to "reset" a value, now you just have to delete it
config.unwrap_from_path("string").reset(config) => del(config.string)
* add cache for value/setting to 5 secds
to "reset" cache just do: config.cfgimpl_clean_cache()
* can desactivate cache by removing "expire" property
2013-04-18 20:26:40 +02:00
d5e1cb6576 pass force_properties to value's _setitem and remove config's setoption 2013-04-17 23:19:53 +02:00
5e67522f91 _empty is u'' for UnicodeOption 2013-04-17 22:06:10 +02:00
eea96cc3d1 MultiTypeError => ValueError 2013-04-17 21:57:06 +02:00
80438b1495 Rename AmbigousOptionError as ConflictOptionError 2013-04-17 21:50:31 +02:00
3170237c8e properties validation not in setting and now launch when modify multi 2013-04-17 21:33:34 +02:00
656b751995 mandatory is a true property (no more MandatoryError) + tests 2013-04-16 22:44:16 +02:00
6097f3af84 only catch PropertiesOptionError 2013-04-16 12:04:20 +02:00
16801ad1b2 SubConfig: first argument must be a OD 2013-04-16 11:51:48 +02:00
90999585fa auto_store_value => force_store_value 2013-04-16 11:30:02 +02:00
447c175b6a Add "force_store_value" property. If set, store, for example, calculated value as owner values.
So calculated value are calculate only one time.
2013-04-16 09:45:42 +02:00
1f0bb88bc1 add cons_lower + DomainnameOption 2013-04-16 09:34:00 +02:00
9357b342c1 review exception 2013-04-14 12:01:32 +02:00
fbcbbfbd2b consistencies now a list 2013-04-14 10:14:06 +02:00
9644dd3661 add gettext support 2013-04-13 23:09:05 +02:00
9c2dcc164c attribute in Option now starts with '_'
add ValidateError
add consistancies in Option
remove byattr in find
2013-04-13 22:50:55 +02:00
26568dc45a Values validate now value 2013-04-11 11:30:58 +02:00
0c5ab9df18 don't launch apply_requires more than needed 2013-04-08 16:12:23 +02:00
67e67a5020 NoValueReturn is not needed now + apply_requires is now in settings 2013-04-08 16:05:56 +02:00
d8b68fa1ec suppress _cfgimpl_parent and _cfgimpl_get_path() from SubConfig 2013-04-05 16:59:48 +02:00
88ea962d82 tiramisu/config.py: _cfgimpl_subconfigs is not used 2013-04-05 12:31:50 +02:00
d100d66548 tiramisu/config.py can specify return type for find ('option', 'value', 'path') and remove get
user need replace config.get(value) by config.find(byname="value", type_='value')
2013-04-05 12:20:33 +02:00
c918191d21 permissives are for a specified option not config 2013-04-04 15:14:16 +02:00
9006dca09f set permissive to cfgimpl_get_home_by_path 2013-04-04 12:16:18 +02:00
e9902d8ce2 rewrite make_dict 2013-04-04 11:24:00 +02:00
6105191d9c tiramisu/value.py : self.opt => opt + disable permissive in read_write mode 2013-04-03 17:05:41 +02:00
e6f00948f3 optimisations and all is properties 2013-04-03 12:20:26 +02:00
gwen
8181d1b596 build cache builds correctly now 2013-03-27 17:01:20 +01:00
201f9d6db4 remise en fonction des self._cfgimpl_slots 2013-03-27 16:41:22 +01:00
d00153787d Le cache des paths est dans l'OptionDescription
Utilisation des slots pour la Config

Il faut 566Mo de mémoire pour charger 50 variantes de 100 serveurs chacuns (5000 serveurs en tout).

ref #5111
2013-03-27 16:17:45 +01:00
899f864f8d works on performante 2013-03-26 10:29:49 +01:00
4f3db9cbc6 support break in iterator 2013-03-25 14:21:30 +01:00
39c8e2eb0b add import and name => opt._name 2013-03-25 11:45:21 +01:00
f6a14e3223 add UnicodeOption 2013-03-20 12:37:27 +01:00
087f7e3a75 cfgimpl_permissive is not the permissive param 2013-03-14 17:51:51 +01:00
9e81ae4737 get_home_by_path is a public method 2013-03-14 16:07:26 +01:00
15beeda0f0 add permissive in config 2013-03-14 11:31:44 +01:00
783e982c9b informations attribute finally works 2013-03-13 11:29:29 +01:00
e1357fd5c5 adds information attribute to an option 2013-03-12 17:45:28 +01:00
729feb3239 adds information attribute to an option 2013-03-12 16:54:39 +01:00
gwen
11ad037af9 iter on all objects 2013-03-07 11:02:18 +01:00
9b3eb33d27 generate correct len for slave if no value 2013-03-06 17:17:33 +01:00
gwen
c26b0ca12b Merge branch 'master' of ssh://git.labs.libre-entreprise.org/gitroot/tiramisu 2013-03-06 09:34:07 +01:00
gwen
4660f58608 valid name accepts only str type 2013-03-06 09:22:56 +01:00
gwen
e360a07a21 BaseType refactoring 2013-03-01 13:10:52 +01:00
gwen
df3753c36b finally a getvalue without a getattr 2013-02-27 11:09:13 +01:00
gwen
c40d33fec3 type shall not be a list 2013-02-27 08:50:41 +01:00
gwen
1f1e5e5d26 type shall not be a list 2013-02-26 17:04:41 +01:00
gwen
e515ec145d type shall not be a list 2013-02-26 16:58:44 +01:00
gwen
151bc83ba5 previous value api 2013-02-26 14:56:15 +01:00
gwen
762b0e9c69 is_empty 2013-02-26 14:31:45 +01:00
gwen
8be48e5eba pep8 2013-02-25 16:24:30 +01:00
gwen
eb632c002d option names shall be valid names 2013-02-25 16:06:10 +01:00
gwen
a02cb26d5f masterlen > instead of != 2013-02-25 15:52:10 +01:00
gwen
ea7d297c9b private method _get_multitype() 2013-02-25 15:12:09 +01:00
gwen
77633c84ce private method _get_multitype() 2013-02-25 14:27:12 +01:00
gwen
7b4f3b5d36 option's name shall not have an api's method name 2013-02-25 11:33:20 +01:00
gwen
8f4efe6b00 add masters/slaves in the Values() 2013-02-22 11:09:17 +01:00
gwen
e6d5d349c8 refactoring values 2013-02-21 17:07:00 +01:00
gwen
b69ecbd2eb update of the doc 2013-02-19 11:24:17 +01:00
gwen
a8e6bac87f refactoring, the values are in an OptionValues object 2013-02-08 11:50:22 +01:00
gwen
9259a6e3f7 values are in value objects now 2013-02-07 16:20:21 +01:00
gwen
29914051e0 master groups that have multis 2013-02-06 17:19:56 +01:00
gwen
a404c4c992 masters shall have the same names as groups 2013-02-06 16:21:30 +01:00
gwen
6a3b7102b5 adds a freeze_everything possibility 2013-02-06 14:59:24 +01:00
gwen
d00a623fc1 validator set to false for read_write in setting 2013-02-06 14:34:12 +01:00
Daniel Dehennin
2cb3ddf2e8 Fix line wrapping and some raise messages spacing
* tiramisu/option.py (Multi.append): do not wrapp short line.
  (validate_requires_arg): Add missing space for multi line strings.
2013-01-31 17:09:59 +01:00
Daniel Dehennin
03baedd4dd Fix appending to a non-grouped multi
When the multi is not grouped, just set the value and do not try to
update len of inexistant slaves.

The code path try to update the len of all other variables under the
OptionDescription of the multi.

* tiramisu/option.py (Multi.append): return after setting the value.

Fixes: #4811 @10m
2013-01-31 17:09:59 +01:00
Daniel Dehennin
170698a5e3 Find breaks on "disabled" property
The exception was raised during unwrap_from_path() call.

* tiramisu/config.py (_filter_by_attrs): do not catch exception arround
  getattr().
  (_find): continue to next option if unwrap_from_path() raise
  PropertiesOptionError.

Fixes: #4728 @5m
2013-01-31 14:38:48 +01:00
Daniel Dehennin
f494bb1502 Better raise message
* tiramisu/config.py (Config._valid_len): use master and slave name and
  value.
2013-01-30 18:04:55 +01:00
Daniel Dehennin
184c48db8c Do not append default value on already defined multi slaves
* tiramisu/option.py (Multi.append): append the default value when the
  slaves have no item or lesser than the master.
  Divide looping over slaves by factor 2.

Fixes: #4799 @4h
2013-01-30 18:04:55 +01:00
Daniel Dehennin
064bed9efa Fix infinite recursion on calculated master of multi variable
There was a infinite recursion between option.Multi.append() and
config.Config._getattr() through config.Config.fill_multi() when
calculating the master:

- config.Config._getattr()
-> config.Config.fill_multi()
-> option.Multi.__init__()
-> option.Multi.append()
-> config.Config._getattr()

* tiramisu/option.py (Multi.append): do not pass by
  config.Config._getattr().

* tiramisu/option.py (Multi.__init__): do not catch exception when
  appending.

Ref: #4799 @8h
2013-01-30 18:04:46 +01:00
Daniel Dehennin
deaa0942ff Remove useless returns and variables
* tiramisu/option.py (Multi.__setitem__): Do not returns.
  (Multi.append): Ditoo.
  Remove useless "ret" variable.
  (Multi._setvalue): Ditoo.
  (Multi.pop): Do not set "ret" to None, raise if "ret" is not in "locals()"
  (Multi._pop): Avoid useless "oldvalue" variable.
2013-01-30 09:19:48 +01:00
Daniel Dehennin
f267073e0d Variable "ret" referenced before assignment
Variable defined in sub-scope ("for", "if") are not defined above.

* tiramisu/option.py (Multi.append): Define "ret" to None.

* tiramisu/option.py (Multi._setvalue): Ditoo.

* tiramisu/option.py (Multi.pop): Ditoo.
2013-01-29 15:21:31 +01:00
gwen
e2a02c5b7a find raises an exception if no option found Fixes #4721 2013-01-28 09:55:51 +01:00
gwen
c66dcd09ee substitute properties/permissivers in apply_requries 2013-01-28 09:33:08 +01:00
gwen
189053ad03 master subgroups that have subgroups 2013-01-11 09:46:41 +01:00
gwen
f9d6f62a70 multi defaults value addition cinematics 2013-01-10 12:03:59 +01:00
gwen
e70054c4d4 owners for multi options 2012-12-11 16:22:02 +01:00
gwen
cda5d8c0bd generic owners shall live in settings 2012-12-11 11:18:53 +01:00
gwen
ca2f4487dd add owner 2012-12-10 14:38:25 +01:00
gwen
cd50cf7551 owners are *real* objects now 2012-12-10 14:10:05 +01:00
gwen
07d3cb1037 constants heritage 2012-12-10 09:53:13 +01:00
gwen
e118f07539 groupe_types are real types now 2012-12-06 18:14:57 +01:00
gwen
69d747baec comments on the code 2012-12-05 11:12:04 +01:00
gwen
7574ac43aa Multi()'s and append 2012-12-05 10:54:32 +01:00
gwen
7784a82cde tests on group types 2012-12-05 09:41:53 +01:00
gwen
0db34bbeba master len without getattr 2012-12-04 16:22:39 +01:00
gwen
6538231817 pop and append in multi values 2012-12-04 15:18:13 +01:00
gwen
4393da13ab validation of the len of the multi in a group 2012-12-04 12:06:26 +01:00
gwen
d633574cc5 comparison failed 2012-12-03 15:48:04 +01:00
gwen
2dfc906966 symlink has an option's API 2012-11-30 16:23:40 +01:00
gwen
43af9cf7f7 getkey() and __eq__ for a SymLink 2012-11-30 15:08:34 +01:00
gwen
e0490c2bed add permissive in the requirements 2012-11-30 10:47:35 +01:00
gwen
1dea71c17f getdefault returns the default_multi 2012-11-29 11:40:52 +01:00
gwen
de47772958 string representation for a symlink option 2012-11-29 10:15:30 +01:00
gwen
d9c8e06236 config's string representation 2012-11-28 10:14:16 +01:00
gwen
bf112bc756 custom validator for multis 2012-11-22 11:53:51 +01:00
gwen
426e64ca39 is_default in _getattr 2012-11-22 10:19:13 +01:00
gwen
79cf82e328 doc: migrated to sphinx 2012-11-20 17:14:58 +01:00
gwen
60ef6cc2b4 doc 2012-11-20 09:15:29 +01:00
gwen
86f9096937 settings are in a separate object 2012-11-19 10:45:03 +01:00
gwen
5969eaa2d6 add custom validator 2012-11-19 09:51:40 +01:00
gwen
b353c6ba60 modification of reset's arity 2012-11-16 10:04:25 +01:00
gwen
e0bf9faf5c default_multi method 2012-11-15 14:59:36 +01:00
gwen
eb7e393864 the value owner is a string now 2012-11-15 10:55:14 +01:00
gwen
09dba4b959 suppression of the override 2012-11-12 12:06:58 +01:00
gwen
1de236d2a8 at_index to check owners 2012-11-08 09:57:29 +01:00
gwen
407c74008c docstrings for special params 2012-11-08 09:03:28 +01:00
gwen
307a3a00a8 permissive getattr in mandatory_warnings() 2012-11-07 17:14:50 +01:00
gwen
bfb5045753 test mandatory 2012-11-06 15:19:36 +01:00
gwen
ec2a65bd37 multi options 2012-10-17 11:14:17 +02:00
gwen
a36ae7df85 permissive in the getattr 2012-10-16 15:09:52 +02:00
gwen
b3da043190 trimming options's callbacks 2012-10-15 15:06:41 +02:00
gwen
0bd7624eea find method in config filters by attrs 2012-10-12 11:35:07 +02:00
gwen
aa67ae31aa find method in config 2012-10-11 16:16:43 +02:00
gwen
d3dc40033b add docstring and some docs 2012-10-05 16:00:07 +02:00
gwen
8ca58c508d __dir__ deleted 2012-10-05 11:02:58 +02:00
gwen
a2f9beb9f4 freeze() in read_write method 2012-09-24 15:58:37 +02:00
gwen
9e417334d4 multi-action available now in requires 2012-09-20 10:51:35 +02:00
gwen
9b419a488d remove unicity by name commented code 2012-09-19 10:25:39 +02:00
gwen
b2e97573bd tests on frozen and None value 2012-09-19 09:31:02 +02:00
gwen
f50935523f frozen api 2012-09-18 16:14:47 +02:00
gwen
99dc71a752 has_callback options cannot be overrided 2012-09-18 15:31:32 +02:00
gwen
c70fc04f3a has_callback options cannot be overrided 2012-09-18 15:25:35 +02:00
gwen
1ce8d4c098 autolib imports 2012-09-18 10:50:00 +02:00
gwen
b533bd996b eosfunc and autolib 2012-09-18 09:48:41 +02:00
gwen
934d011847 generic properties api 2012-09-14 11:55:32 +02:00
gwen
9604fd15ec generic properties api 2012-09-14 10:29:25 +02:00
gwen
e2bcac1c01 mandatory or type error raised 2012-09-12 10:38:41 +02:00
gwen
c6ad86bd81 non mandatory error 2012-09-11 16:45:59 +02:00
gwen
99df5bbd79 non mandatory import error 2012-09-11 16:32:24 +02:00
gwen
fb2aa0ed67 non mandatory api opt._name error 2012-09-11 15:25:35 +02:00
gwen
8795180867 non mandatory api 2012-09-11 15:18:38 +02:00
gwen
e2ec79063e mandatory options 2012-09-11 13:28:37 +02:00
gwen
5907f3e663 api for mandatory 2012-09-10 11:49:52 +02:00
gwen
3e8d16ece6 add property api 2012-09-07 16:10:52 +02:00
gwen
7c19ec7689 syntax errors 2012-09-07 15:50:32 +02:00
gwen
9bb366bb91 now we know wich property has been matched 2012-09-07 15:47:06 +02:00
gwen
d8370b008b commented code for unicity by name 2012-08-16 11:42:24 +02:00
gwen
bf0dcbe2c8 replace special_owner with hascallback_and_freeze 2012-08-14 10:55:08 +02:00
gwen
11b2edd07d Option.force_default() -> opt value returns the default value 2012-08-13 16:06:02 +02:00
gwen
7006091c9c opt.hidden and opt.disabled is replaced by opt.properties 2012-08-13 12:57:18 +02:00