chevah/utils — pull request #8 by adiroiban (2013-03-21 19:24:24+00:00)
Title: [#1202] Add CRUD interface for configuration.

Problem description
===================

We would like to handle the configuration object using a RESTFul CRUD interface. :dancers:

This should simplify the way server is managed via JSON-RPC api.

Changes description
===================

The diff looks big but it is just because I split some files.

The chevah.utils.configuration_file was split into configuration.

The configuration_file module only contains code for persisting configuration into a file, while configuration module contains generic code.

I have updated the _IWithPropertiesMixin to define an interface exposing CRUD methods.

There interface also defines some general usage methods that can be used for implementing "dynamic" sections. (for services/users/groups)

On the server side users/services/groups will implement custom createProperty/deleteProperty/getProperty/setProperty methods. There will be a separate ticket for refactoring the server code.

How to try and test the changes
===============================

reviewers @alibotean

Check that the interface make sense.

Check the test_configration.py tests and check that usage of Interface make sense.

For now createProperty and deletePropery had no implementation , only tree traversals.