Commit Graph

627 Commits

Author SHA1 Message Date
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
gwen
753b0a55c7 opt.hidden and opt.disabled is replaced by opt.properties 2012-08-13 12:49:58 +02:00
gwen
1d5330f15e opt.hidden and opt.disabled is replaced by opt.properties 2012-08-13 11:48:25 +02:00
gwen
5ee7247e52 suppression of the notion of normal and expert mode 2012-08-13 10:51:52 +02:00
gwen
d05feb78f9 suppression of the notion of normal and expert mode 2012-08-13 09:32:33 +02:00
gwen
a88d203790 has_callback method for option 2012-07-27 11:46:27 +02:00
gwen
525aee85f2 mandatory warning for the toplevel 2012-07-27 09:54:32 +02:00
gwen
967842c239 mandatory warnings works now 2012-07-26 16:55:01 +02:00
gwen
c9bc9f3823 recursive requirements are detected now 2012-07-26 10:54:57 +02:00
gwen
323663385b various misspellings 2012-07-25 09:04:22 +02:00
gwen
f393854baa add validation upon mandatory options function 2012-07-24 16:54:06 +02:00
gwen
f5975777b9 add validation upon mandatory options function 2012-07-24 15:35:44 +02:00
gwen
45ff59aea2 tests are passing again after package renaming 2012-07-23 14:52:08 +02:00
gwen
a871cab083 relative imports to absolute imports (fixes #2667) 2012-07-23 14:39:16 +02:00