Emmanuel Garette
23f6d2228f
add symlink test
2013-06-13 22:07:58 +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
fd02a954ca
add sort, reverse, insert and extend in Multi
2013-06-12 22:48:22 +02:00
Emmanuel Garette
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
Emmanuel Garette
ada5bfbf6c
add test for callback not in multi
2013-06-11 15:36:08 +02:00
Emmanuel Garette
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
1c70a07d7e
transitivity in the requirements
2013-06-10 15:19:00 +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
Emmanuel Garette
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
Emmanuel Garette
536eb27904
multi, None and validation
2013-05-10 22:34:07 +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
f0ef1734f4
add a test for force_store_value in read_only mode
2013-04-23 19:01:03 +02:00
Emmanuel Garette
7cd44d6886
remove an unused callback in test
2013-04-23 11:41:16 +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
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
Emmanuel Garette
54fe8d0f4b
cache for properties is now in get_properties and not for validate_properties
2013-04-20 11:25:14 +02:00
Emmanuel Garette
d7b5d9dc16
add SlaveError for slave's length
2013-04-19 20:23:34 +02:00
Emmanuel Garette
e08bd93cd8
all multi gestion is now in Multi
2013-04-18 23:06:14 +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
d5e1cb6576
pass force_properties to value's _setitem and remove config's setoption
2013-04-17 23:19:53 +02:00
Emmanuel Garette
5e67522f91
_empty is u'' for UnicodeOption
2013-04-17 22:06:10 +02:00
Emmanuel Garette
80438b1495
Rename AmbigousOptionError as ConflictOptionError
2013-04-17 21:50:31 +02:00
Emmanuel Garette
3170237c8e
properties validation not in setting and now launch when modify multi
2013-04-17 21:33:34 +02:00
Emmanuel Garette
656b751995
mandatory is a true property (no more MandatoryError) + tests
2013-04-16 22:44:16 +02:00
Emmanuel Garette
9357b342c1
review exception
2013-04-14 12:01:32 +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
67e67a5020
NoValueReturn is not needed now + apply_requires is now in settings
2013-04-08 16:05:56 +02:00
Emmanuel Garette
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
Emmanuel Garette
e9902d8ce2
rewrite make_dict
2013-04-04 11:24:00 +02:00
gwen
e75d6abad1
test_option_has_an_api_name temporarily disabled
2013-04-03 16:01:53 +02:00
Emmanuel Garette
e6f00948f3
optimisations and all is properties
2013-04-03 12:20:26 +02:00
gwen
ccf75aac89
tests for get_home_by_paths
2013-03-15 09:24:43 +01:00
gwen
df3753c36b
finally a getvalue without a getattr
2013-02-27 11:09:13 +01:00
gwen
eb632c002d
option names shall be valid names
2013-02-25 16:06:10 +01:00
gwen
7b4f3b5d36
option's name shall not have an api's method name
2013-02-25 11:33:20 +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