Commit Graph

120 Commits

Author SHA1 Message Date
Emmanuel Garette 1ddd88fc99 some corrections in sqlite3 storage 2013-08-21 23:21:28 +02:00
Emmanuel Garette b6bb685ca5 key is now always path and change opt by path dictionary storage 2013-08-21 22:21:50 +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
Emmanuel Garette 0d5a447eb3 add persistent option for db 2013-08-20 22:45:11 +02:00
Emmanuel Garette 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
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 f6f709f83d split cache/value/setting in plugin 2013-08-14 23:06:31 +02:00
Emmanuel Garette 8056387f02 return true error message when validation 2013-07-17 20:48:46 +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 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 b2538f6f0b support of non multi variable 2013-06-11 15:31:20 +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 9cf30d214d raise ConfigError 2013-06-10 17:12:57 +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
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 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 2d57ed160e work on MetaConfig 2013-05-02 11:34:57 +02:00
Emmanuel Garette 2e21f13387 force_store_value store value but not in write mode 2013-04-23 16:43:39 +02:00
Emmanuel Garette 7cd44d6886 remove an unused callback in test 2013-04-23 11:41:16 +02:00
Emmanuel Garette 20fe56e03d tiramisu/values: _empty should not validate with defaultvalue, defaultvalue is already in value 2013-04-23 10:41:47 +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 a11768ef43 remove expired cache with config.cfgimpl_reset_cache(True) 2013-04-19 22:42:33 +02:00
Emmanuel Garette d7b5d9dc16 add SlaveError for slave's length 2013-04-19 20:23:34 +02:00
Emmanuel Garette 410add6a2a add SlaveError for slave's length 2013-04-19 20:10:55 +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 eea96cc3d1 MultiTypeError => ValueError 2013-04-17 21:57:06 +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 6097f3af84 only catch PropertiesOptionError 2013-04-16 12:04:20 +02:00
Emmanuel Garette 90999585fa auto_store_value => force_store_value 2013-04-16 11:30:02 +02:00
Emmanuel Garette 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
Emmanuel Garette 9357b342c1 review exception 2013-04-14 12:01:32 +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 e9902d8ce2 rewrite make_dict 2013-04-04 11:24:00 +02:00
Emmanuel Garette 6105191d9c tiramisu/value.py : self.opt => opt + disable permissive in read_write mode 2013-04-03 17:05:41 +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
Emmanuel Garette 39c8e2eb0b add import and name => opt._name 2013-03-25 11:45:21 +01:00
Emmanuel Garette 9b3eb33d27 generate correct len for slave if no value 2013-03-06 17:17:33 +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 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 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