Commit Graph

126 Commits

Author SHA1 Message Date
Emmanuel Garette f106f3ced7 cannot set properties if those properties are in requirement 2013-09-02 19:47:00 +02:00
Emmanuel Garette 4636a977cc requirements: calculate all requirements for an option 2013-09-02 17:13:43 +02:00
gwen 52a6705fbf new logo for the tiramisu project 2013-09-02 16:27:22 +02:00
Emmanuel Garette 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
Emmanuel Garette c01f14920d test more sloted options 2013-08-30 09:40:28 +02:00
Emmanuel Garette eb62d0c4a4 add test for impl_get_path_by_opt and impl_get_opt_by_path 2013-08-29 09:29:28 +02:00
Emmanuel Garette 8aa4260404 test force_default_on_freeze with multi and correction in Multi() 2013-08-28 22:50:35 +02:00
Emmanuel Garette 8c24903dfb order in properties can change 2013-08-28 21:23:42 +02:00
gwen fbf05ba5e4 python 3 compatibility
remove __eq__ and __ne__ in Option
2013-08-28 21:13:42 +02:00
Emmanuel Garette 71a8171c52 add tests for persistent mode 2013-08-27 22:08:35 +02:00
Emmanuel Garette 3be005e82e add test test/test_dereference.py + memoryleaks in optiondescription's cache 2013-08-27 21:36:52 +02:00
gwen a894a5e27b rename API add_owner -> addowner 2013-08-27 16:12:53 +02:00
Emmanuel Garette acd27fb56c huge use of weakrefs to remove memoryleaks due to circular references 2013-08-27 11:39:32 +02:00
Emmanuel Garette 36def6533f store session in dictionary storage 2013-08-27 09:46:52 +02:00
gwen 551b9fb1e3 getting stated documentation 2013-08-26 17:14:14 +02:00
Emmanuel Garette 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
Emmanuel Garette f482737a47 add test to known if has a value + some corrections 2013-08-24 23:10:35 +02:00
Emmanuel Garette e6a183c00d test get_modified_values 2013-08-24 22:54:02 +02:00
Emmanuel Garette e4c129efc5 getowner need now an option 2013-08-24 22:32:54 +02:00
Emmanuel Garette 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
Emmanuel Garette c2b16d2605 add _path in reset for performance + more tests 2013-08-24 16:30:46 +02:00
Emmanuel Garette 62553aba1f test invalid owner in setowner 2013-08-23 09:29:42 +02:00
Emmanuel Garette ac62931525 add test for recursive path in requirement 2013-08-22 22:57:32 +02:00
Emmanuel Garette 04aa4e6bf1 never same calculated properties has properties (only in cache) 2013-08-22 22:48:09 +02:00
gwen 3d67e35447 documentation on the tests 2013-08-22 12:17:10 +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
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 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 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
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 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