Commit Graph

381 Commits

Author SHA1 Message Date
gwen 5c8bb1f8f9 documentation update 2013-08-20 16:38:06 +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 513722ed57 corrections in tiramisu's setting 2013-07-23 14:24:42 +02:00
Emmanuel Garette e9ffd96a28 update translation 2013-07-18 21:25:07 +02:00
Emmanuel Garette e6c3104681 translation 2013-07-17 23:05:43 +02:00
Emmanuel Garette bc054d75af translation 2013-07-17 23:02:50 +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
gwen a95f19d5f4 default settings 2013-07-12 16:20:34 +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 c06659012b Config: __str__ raise if no str/unicode value 2013-07-03 21:56:31 +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 4b5d9b4229 __str__ method could return unicode object, force to decode in str 2013-07-01 16:49:10 +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 e501c6d12d support multi requires with inverse set to True 2013-06-28 11:59:51 +02:00
Emmanuel Garette 75f7e7ce5d callback with option in params which is in an hidden optiondescription 2013-06-26 16:26:42 +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 fd02a954ca add sort, reverse, insert and extend in Multi 2013-06-12 22:48:22 +02:00
Emmanuel Garette 9c47eb32d5 ConfigError, not PropertiesOptionError if cannot access to option in carry_out_calculation 2013-06-12 17:07:29 +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 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
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 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
Emmanuel Garette e131fdc5a5 add cfgimpl_get_children for MetaConfig and informations 2013-05-21 11:09:09 +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
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
Emmanuel Garette 536eb27904 multi, None and validation 2013-05-10 22:34:07 +02:00
gwen bd489346a9 docstrings 2013-05-10 16:02:27 +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 9ceaa4b235 tiramisu/i18n.py: pep8 compliants 2013-05-02 11:23:47 +02:00
Emmanuel Garette 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
Emmanuel Garette 2c5bbb7bc0 Requires need option, not path
Valid requires
2013-04-26 14:40:44 +02:00
Emmanuel Garette 509f41e14c missing properties in PropertiesOptionError 2013-04-24 17:40:16 +02:00
Emmanuel Garette f28288fbba In make_dict check PropertyConfigError for OptionDescription
Begin work's on MetaConfig
2013-04-24 11:47:01 +02:00
Emmanuel Garette 2e21f13387 force_store_value store value but not in write mode 2013-04-23 16:43:39 +02:00
Philippe Caseiro 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
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 e5de0234c2 don't raise if check_disabled is True 2013-04-22 20:42:54 +02:00
Emmanuel Garette ec88d817ae missing import 2013-04-22 16:48:56 +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 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 5e67522f91 _empty is u'' for UnicodeOption 2013-04-17 22:06:10 +02:00
Emmanuel Garette eea96cc3d1 MultiTypeError => ValueError 2013-04-17 21:57:06 +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 6097f3af84 only catch PropertiesOptionError 2013-04-16 12:04:20 +02:00
Emmanuel Garette 16801ad1b2 SubConfig: first argument must be a OD 2013-04-16 11:51:48 +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 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 88ea962d82 tiramisu/config.py: _cfgimpl_subconfigs is not used 2013-04-05 12:31:50 +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 c918191d21 permissives are for a specified option not config 2013-04-04 15:14:16 +02:00
Emmanuel Garette 9006dca09f set permissive to cfgimpl_get_home_by_path 2013-04-04 12:16:18 +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 201f9d6db4 remise en fonction des self._cfgimpl_slots 2013-03-27 16:41:22 +01:00
Emmanuel Garette 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
Emmanuel Garette 899f864f8d works on performante 2013-03-26 10:29:49 +01:00
Emmanuel Garette 4f3db9cbc6 support break in iterator 2013-03-25 14:21:30 +01:00
Emmanuel Garette 39c8e2eb0b add import and name => opt._name 2013-03-25 11:45:21 +01:00
Emmanuel Garette f6a14e3223 add UnicodeOption 2013-03-20 12:37:27 +01:00
Emmanuel Garette 087f7e3a75 cfgimpl_permissive is not the permissive param 2013-03-14 17:51:51 +01:00
Emmanuel Garette 9e81ae4737 get_home_by_path is a public method 2013-03-14 16:07:26 +01:00
Emmanuel Garette 15beeda0f0 add permissive in config 2013-03-14 11:31:44 +01:00
Emmanuel Garette 783e982c9b informations attribute finally works 2013-03-13 11:29:29 +01:00
Emmanuel Garette e1357fd5c5 adds information attribute to an option 2013-03-12 17:45:28 +01:00
Emmanuel Garette 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
Emmanuel Garette 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