Emmanuel Garette
e826f3d1c6
we can personalise storage easily
2013-08-20 09:47:12 +02:00
Emmanuel Garette
df7d6759cd
add sqlite plugin
2013-08-19 11:01:21 +02:00
Emmanuel Garette
e9ffd96a28
update translation
2013-07-18 21:25:07 +02:00
Emmanuel Garette
15ac8c2872
update french translation
2013-07-17 22:30:35 +02:00
Emmanuel Garette
8056387f02
return true error message when validation
2013-07-17 20:48:46 +02:00
Emmanuel Garette
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
Emmanuel Garette
c53d574ac2
can't use RESERVED address in IPOption and NetworkOption
2013-07-11 23:06:26 +02:00
Emmanuel Garette
1c951558da
add new option's type: PortOption
2013-07-11 23:05:33 +02:00
Emmanuel Garette
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
Emmanuel Garette
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
Emmanuel Garette
9b134c3aa7
requirement are now a dictionary (not anymore a tuple)
2013-06-29 18:41:14 +02:00
Emmanuel Garette
32de14b731
validate_requires_arg return requires list
2013-06-26 16:25:02 +02:00
Emmanuel Garette
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
Emmanuel Garette
4d15c91383
symlink support for getowner and raise if option in master/slave
2013-06-13 22:06:49 +02:00
Emmanuel Garette
c2471320c3
apply_requires: add property if any property raise PropertyError if same_action is False
2013-06-13 14:43:51 +02:00
Emmanuel Garette
755b2312c2
allow None in requirement
2013-06-13 12:15:46 +02:00
Emmanuel Garette
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
879a415e75
add docstrings
2013-05-23 14:55:52 +02:00
gwen
9acb522791
doc is ready for the new api refactoring
2013-05-21 11:37:39 +02:00
gwen
988bd659b8
refactoring the doc for the 0.55 new API
2013-05-15 17:35:49 +02:00
Emmanuel Garette
536eb27904
multi, None and validation
2013-05-10 22:34:07 +02:00
Emmanuel Garette
c91e7eff97
if not need, don't validate
2013-05-10 16:00:53 +02:00
Emmanuel Garette
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
Emmanuel Garette
6ffd71a43e
DomainnameOption now works with default value
2013-05-10 09:27:54 +02:00
Emmanuel Garette
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
Emmanuel Garette
1b29793e0f
compare option
2013-05-05 21:43:19 +02:00
Emmanuel Garette
2d57ed160e
work on MetaConfig
2013-05-02 11:34:57 +02:00
Emmanuel Garette
2c5bbb7bc0
Requires need option, not path
...
Valid requires
2013-04-26 14:40:44 +02:00
Emmanuel Garette
1fd5f685de
callback must be a function and validator support same paramaters has callback
2013-04-22 16:48:13 +02:00
Emmanuel Garette
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
Emmanuel Garette
682d9fe207
add option name's validation and rename Option method with objimpl_
2013-04-20 21:58:52 +02:00
Emmanuel Garette
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
Emmanuel Garette
5e67522f91
_empty is u'' for UnicodeOption
2013-04-17 22:06:10 +02:00
Emmanuel Garette
656b751995
mandatory is a true property (no more MandatoryError) + tests
2013-04-16 22:44:16 +02:00
Emmanuel Garette
1f0bb88bc1
add cons_lower + DomainnameOption
2013-04-16 09:34:00 +02:00
Emmanuel Garette
9357b342c1
review exception
2013-04-14 12:01:32 +02:00
Emmanuel Garette
fbcbbfbd2b
consistencies now a list
2013-04-14 10:14:06 +02:00
Emmanuel Garette
9644dd3661
add gettext support
2013-04-13 23:09:05 +02:00
Emmanuel Garette
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
Emmanuel Garette
26568dc45a
Values validate now value
2013-04-11 11:30:58 +02:00
Emmanuel Garette
0c5ab9df18
don't launch apply_requires more than needed
2013-04-08 16:12:23 +02:00
Emmanuel Garette
67e67a5020
NoValueReturn is not needed now + apply_requires is now in settings
2013-04-08 16:05:56 +02:00
Emmanuel Garette
d8b68fa1ec
suppress _cfgimpl_parent and _cfgimpl_get_path() from SubConfig
2013-04-05 16:59:48 +02:00
Emmanuel Garette
e9902d8ce2
rewrite make_dict
2013-04-04 11:24:00 +02:00
Emmanuel Garette
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
Garette Emmanuel
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
Garette Emmanuel
899f864f8d
works on performante
2013-03-26 10:29:49 +01:00
Garette Emmanuel
f6a14e3223
add UnicodeOption
2013-03-20 12:37:27 +01:00
Garette Emmanuel
9e81ae4737
get_home_by_path is a public method
2013-03-14 16:07:26 +01:00
Garette Emmanuel
783e982c9b
informations attribute finally works
2013-03-13 11:29:29 +01:00
Garette Emmanuel
e1357fd5c5
adds information attribute to an option
2013-03-12 17:45:28 +01:00
Garette Emmanuel
729feb3239
adds information attribute to an option
2013-03-12 16:54:39 +01:00
Garette Emmanuel
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
151bc83ba5
previous value api
2013-02-26 14:56:15 +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
e6d5d349c8
refactoring values
2013-02-21 17:07:00 +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
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
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
c66dcd09ee
substitute properties/permissivers in apply_requries
2013-01-28 09:33:08 +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
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
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
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
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