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