Emmanuel Garette
635b71d291
separate baseoption and option
2017-07-24 20:39:01 +02:00
Emmanuel Garette
1d251374a1
reorganise code
2017-07-23 18:14:34 +02:00
Emmanuel Garette
5ca2e32ac5
coverage
2017-07-21 22:34:41 +02:00
Emmanuel Garette
32e88299e2
remove pickle dump/load support
2017-07-21 18:46:11 +02:00
Emmanuel Garette
ddaadb0701
coverage
2017-07-21 18:03:34 +02:00
Emmanuel Garette
be43c95ec0
In Config, name and session_id was quite equal, remove name
...
session_id is now validate
set_value return Configs with error
add new_config to MetaConfig
2017-07-19 20:44:38 +02:00
Emmanuel Garette
90a2072fc5
less commit + better meta support
2017-07-16 23:11:12 +02:00
Emmanuel Garette
dc9454be63
limit database usage
2017-07-16 10:57:43 +02:00
Emmanuel Garette
d445963429
add permissive cache
2017-07-13 22:04:06 +02:00
Emmanuel Garette
962b4eb660
many improvment
2017-07-11 22:31:58 +02:00
Emmanuel Garette
c8bc3093c7
python 3.5 support
2017-07-09 09:49:03 +02:00
Emmanuel Garette
dadf859905
better cache
2017-07-08 15:59:56 +02:00
Emmanuel Garette
6bad3c6e64
update sqlite storage
2017-07-04 19:59:42 +02:00
Emmanuel Garette
6de528d1f1
add index to setitem (for slaves)
2017-05-31 19:22:22 +02:00
Emmanuel Garette
695de030ef
coverage for tiramisu/value.py
2017-02-11 17:22:50 +01:00
Emmanuel Garette
18d6976183
copy the context in carry_out_calculation
2017-01-11 22:58:01 +01:00
Emmanuel Garette
7fe47396ee
correction in fullpath option
2017-01-09 20:16:38 +01:00
Emmanuel Garette
66f24bd1c0
add fullpath to make_dict
2017-01-06 21:01:24 +01:00
Emmanuel Garette
8e3a8e4279
coverage
2016-11-20 19:39:49 +01:00
Emmanuel Garette
8e7b4101f1
coverage
2016-11-20 18:02:10 +01:00
Emmanuel Garette
4d02254234
returns_raise is now mandatory in core
2016-10-14 22:20:14 +02:00
Emmanuel Garette
69de44bbb4
better sqlalchemy integration
2016-09-30 22:45:33 +02:00
Emmanuel Garette
6d71749014
force_store_value is rebuild if needed
2016-09-22 08:27:18 +02:00
Emmanuel Garette
ef5bcbf98b
user could delete informations set in config
2016-04-28 11:31:04 +02:00
Emmanuel Garette
6ef85c4974
force_permissive in cfgimpl_get_home_by_path
2016-04-07 16:14:01 +02:00
Emmanuel Garette
7460f38a88
update sqlalchemy storage for values et settings
2016-03-29 09:31:00 +02:00
Emmanuel Garette
7305cfa134
python 3.4 support
2016-03-19 21:27:37 +01:00
Emmanuel Garette
da89c1aa58
force_store_value is now used directly when configuration is loaded
2016-03-07 16:13:41 +01:00
Emmanuel Garette
8a21d49948
setattr instead of _setattr
2016-01-25 15:57:34 +01:00
Emmanuel Garette
2842abdd46
remove try/except
2016-01-06 22:37:11 +01:00
Emmanuel Garette
b521c459ee
remove all try/except
2016-01-03 21:18:52 +01:00
Emmanuel Garette
cc6b4ad7c4
remove a try/except
2015-12-31 18:35:31 +01:00
Emmanuel Garette
ce162280ad
simplify _setvalue
2015-12-31 18:20:36 +01:00
Emmanuel Garette
d0e2b5d8c4
remove some try/except
2015-12-30 22:32:07 +01:00
Emmanuel Garette
df233d3165
add some optimisations
2015-12-22 22:06:14 +01:00
Emmanuel Garette
59f59b0b1b
add some optimisation
2015-12-14 23:37:15 +01:00
Emmanuel Garette
a521a6d322
requires could be apply to a slave and properties could be different
2015-11-29 23:03:08 +01:00
Emmanuel Garette
ab555966f7
use python-coverage to delete dead part of code
2015-11-24 10:58:19 +01:00
Emmanuel Garette
54ca54e505
separate value in slave
2015-11-19 22:25:00 +01:00
Emmanuel Garette
a0de1109f7
optimise mandatory_warnings
2015-10-29 09:03:13 +01:00
Emmanuel Garette
5ea92d3460
need new settings when create fake_config
2015-09-17 19:14:56 +02:00
Emmanuel Garette
44cd618704
remove pep8 validation errors
2015-07-24 17:54:10 +02:00
Emmanuel Garette
6cc74506fb
Some optimisations
2015-05-03 09:56:03 +02:00
Emmanuel Garette
10768a6067
refactor validation
2015-04-18 22:53:45 +02:00
Emmanuel Garette
2ccf92f879
improve GroupConfig/MetaConfig
...
add set_value in GroupConfig
2014-12-01 21:49:50 +01:00
Emmanuel Garette
c6c331eb54
in find_firsts get option only one time
2014-11-11 11:31:23 +01:00
Emmanuel Garette
7c5b6e2db2
improve performance
2014-11-10 23:15:08 +01:00
Emmanuel Garette
f03cbeadb7
better performance in find_firsts
...
_is_build_cache not set in dictionary storage
2014-11-10 21:00:30 +01:00
Emmanuel Garette
4217508f3f
works on sqlalchemy storage
2014-11-10 09:13:44 +01:00
Emmanuel Garette
c75867720f
add force_permissive in mandatory_warnings
2014-10-26 16:39:24 +01:00
Emmanuel Garette
4310d59991
add force_permissive to config __iter__
2014-10-26 10:26:23 +01:00
Emmanuel Garette
b64189f763
add DynOptionDescription
2014-06-19 23:22:39 +02:00
Emmanuel Garette
6d8137160c
'getattr' in optiondescription can return a bound method
2014-04-15 21:48:31 +02:00
Emmanuel Garette
5d8b5719a0
Merge branch 'master' into orm
...
Conflicts:
test/test_config_api.py
tiramisu/autolib.py
tiramisu/config.py
tiramisu/option.py
tiramisu/value.py
2014-04-13 10:30:42 +02:00
Emmanuel Garette
299e51e806
start works on storage
2014-04-12 22:47:52 +02:00
Emmanuel Garette
aa0734591d
change None to undefined when it's needed
2014-04-12 21:57:17 +02:00
Emmanuel Garette
3ab0688c46
Arity change, remove force_properties:
...
* tiramisu/config.py (in cfgimpl_get_home_by_path and getattr)
* tiramisu/value.py (in getitem):
2014-04-12 21:37:20 +02:00
Emmanuel Garette
cd4d3527c7
split tiramisu/option.py and add MasterSlaves object
2014-04-12 17:55:13 +02:00
Emmanuel Garette
967a48412d
Merge branch '_getattr'
2014-04-01 09:51:43 +02:00
Emmanuel Garette
0b2e5f90e2
same arity for _getattr and getattr
2014-04-01 09:51:25 +02:00
Emmanuel Garette
1ae6f0c6e8
Merge branch 'mandatory'
2014-04-01 09:29:34 +02:00
Emmanuel Garette
150b490200
config.mandatory_warnings return always None
2014-04-01 09:29:07 +02:00
Emmanuel Garette
a3c5e6034f
Merge branch 'force_permissive'
...
Conflicts:
test/test_freeze.py
2014-03-31 22:38:56 +02:00
Emmanuel Garette
cd52729952
add force_permissive in config's method (iter_all, iter_group, find, find_first and make_dict)
...
rename _getattr to getattr
2014-03-31 22:34:57 +02:00
Emmanuel Garette
ff5376a382
properties are check now in getowner
...
get_modified_values works good with force_store_value
2014-03-29 20:31:56 +01:00
Emmanuel Garette
a04a61f1a4
Merge branch 'master' into lgpl
2014-03-15 10:11:17 +01:00
Emmanuel Garette
f7d31bfa92
Merge branch 'master' into force-cache
...
Conflicts:
translations/fr/tiramisu.po
translations/tiramisu.pot
2014-03-15 10:09:19 +01:00
Emmanuel Garette
544cd93c73
can make_dict with disabled suboption
2014-03-12 14:57:36 +01:00
Emmanuel Garette
6e8b570a37
mandatory_warnings is now in values and add force_cache to values
2014-03-09 20:06:44 +01:00
Emmanuel Garette
98bd35ad36
Merge branch 'master' into orm
...
Conflicts:
tiramisu/config.py
tiramisu/option.py
2014-02-04 21:54:30 +01:00
Emmanuel Garette
a067d2cdd9
add some tests
2014-02-04 21:14:30 +01:00
Emmanuel Garette
5646fc35a2
Merge branch 'master' into orm
...
Conflicts:
test/test_parsing_group.py
2014-02-03 22:11:58 +01:00
Emmanuel Garette
8d10ad4002
add tests
2014-02-02 22:47:46 +01:00
Emmanuel Garette
5897231421
Merge branch 'master' into orm
...
Conflicts:
test/test_dereference.py
test/test_state.py
tiramisu/config.py
tiramisu/value.py
2014-02-02 18:52:13 +01:00
Emmanuel Garette
26158fc3c4
update test for metaconfig serialization
2014-02-02 18:33:21 +01:00
Emmanuel Garette
f8faec408f
Merge branch 'master' into metaconfig
2014-02-02 18:21:22 +01:00
Emmanuel Garette
8709386570
__getattr__ OD
2014-02-01 18:35:18 +01:00
Emmanuel Garette
313b03b246
cache in sql works
2014-02-01 16:26:23 +01:00
Emmanuel Garette
880b6366eb
Merge branch 'master' into orm
...
Conflicts:
tiramisu/setting.py
2014-01-25 16:39:32 +01:00
Emmanuel Garette
138018dfe9
if we delete all reference to a Config and we have reference to old SubConfig, Values, Multi or Settings, make a ConfigError instead of AttributError on NoneType object
2014-01-25 11:20:11 +01:00
Emmanuel Garette
3b3e5216fe
cache
2014-01-25 10:15:25 +01:00
Emmanuel Garette
cde04d654a
Merge branch 'master' into orm
...
Conflicts:
tiramisu/setting.py
2014-01-09 20:32:17 +01:00
Emmanuel Garette
172a33f842
mandatory_warnings never raises ConfigError
2013-12-16 14:20:35 +01:00
Emmanuel Garette
64ca069a0b
Merge branch 'master' into orm
...
Conflicts:
test/test_config.py
tiramisu/autolib.py
tiramisu/option.py
tiramisu/value.py
2013-12-12 17:50:42 +01:00
Emmanuel Garette
374c56a9c8
first version with sqlalchemy option's storage
2013-11-23 23:34:17 +01:00
gwen
384b30210c
find and find_first's new argument
2013-11-04 17:15:47 +01:00
Emmanuel Garette
b606d23801
add imp_meta
2013-10-15 18:23:36 +02:00
Emmanuel Garette
feeb9842f5
serialize metaconfig/groupconfig
2013-09-30 16:22:08 +02:00
Emmanuel Garette
6b7db20716
Merge branch 'master' into metaconfig
2013-09-28 22:49:50 +02:00
Emmanuel Garette
b7f85b8559
Merge branch 'master' into lgpl
2013-09-28 18:43:46 +02:00
gwen
162ae02df8
refactor (warnings_only)
2013-09-27 09:52:18 +02:00
Emmanuel Garette
3073940ca4
can't assign to an OptionDescription
2013-09-26 22:35:12 +02:00
Emmanuel Garette
a08af2383d
comment config
2013-09-23 22:55:54 +02:00
Emmanuel Garette
8a7078d3b0
gpl to lgpl
2013-09-22 22:33:09 +02:00
Emmanuel Garette
d2f101b7bb
didnot getattr a second time in find if not needed
2013-09-22 21:54:07 +02:00
Emmanuel Garette
051f1c8774
tiramisu/config.py:
...
- find byvalue support Multi
tiramisu/value.py:
- Multi's pop comment
2013-09-22 21:23:12 +02:00
Emmanuel Garette
c84d13a1c6
we can serialize Config now
2013-09-22 20:57:52 +02:00
Emmanuel Garette
7165f73292
add metaconfig
2013-09-17 09:02:10 +02:00
Emmanuel Garette
f8b0a53c3f
cache is always a dictionary in memory
2013-09-07 10:31:39 +02:00
Emmanuel Garette
22bfbb9fa4
storage no more in setting.py, code is now in storage/__init__.py
2013-09-06 23:15:36 +02:00
Emmanuel Garette
aeeaf6ec14
impl_get_information and impl_set_information are, now, persistent in storage
2013-09-03 10:38:38 +02:00
gwen
fbf05ba5e4
python 3 compatibility
...
remove __eq__ and __ne__ in Option
2013-08-28 21:13:42 +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
6b9d5aed59
add enumerate and delete method for manage storage
2013-08-25 21:57:11 +02:00
Emmanuel Garette
dcb12dac02
can change storage with set_storage, storage's name is store in storage object and storage is create with get_storage
2013-08-25 20:49:24 +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
6708fe4522
is not config in other, __neq__ should return True
2013-08-24 18:04:19 +02:00
Emmanuel Garette
a7d784ba3e
is not config in other, __neq__ should return True
2013-08-24 18:04:11 +02:00
Emmanuel Garette
196d270cc9
_calc_requirement is a set, not a tuple
2013-08-24 16:34:08 +02:00
gwen
0db7ef72a6
automatic API documentation
2013-08-23 11:16:26 +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
707a215a2c
pep8
2013-08-21 18:34:32 +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
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
c06659012b
Config: __str__ raise if no str/unicode value
2013-07-03 21:56:31 +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
75f7e7ce5d
callback with option in params which is in an hidden optiondescription
2013-06-26 16:26:42 +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
Emmanuel Garette
e131fdc5a5
add cfgimpl_get_children for MetaConfig and informations
2013-05-21 11:09:09 +02:00
gwen
89dca8d707
suppress get_consistencies() method
2013-05-14 17:40:42 +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
f28288fbba
In make_dict check PropertyConfigError for OptionDescription
...
Begin work's on MetaConfig
2013-04-24 11:47:01 +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
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
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
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
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