|
@@ -1,62 +1,60 @@
|
1
|
1
|
from lodel.leapi.datahandlers.base_classes import DataHandler
|
2
|
2
|
DataHandler.load_base_handlers()
|
3
|
3
|
|
4
|
|
-##@defgroup lodel2_datahandlers Datahandlers
|
5
|
|
-#@ingroup lodel2_leapi
|
6
|
|
-#@ingroup lodel2_em
|
|
4
|
+## @defgroup lodel2_datahandlers Datahandlers
|
|
5
|
+# @ingroup lodel2_leapi
|
|
6
|
+# @ingroup lodel2_em
|
7
|
7
|
|
8
|
|
-##@defgroup lodel2_dh_checks Datahandlers datas checking
|
9
|
|
-#@ingroup lodel2_datahandlers
|
|
8
|
+## @defgroup lodel2_dh_checks Datahandlers datas checking
|
|
9
|
+# @ingroup lodel2_datahandlers
|
10
|
10
|
|
11
|
|
-##@package lodel.leapi.datahandlers Lodel2 datahandlers
|
|
11
|
+## @package lodel.leapi.datahandlers Lodel2 datahandlers
|
12
|
12
|
#
|
13
|
|
-#Datahandlers are object that handles datas check, construction and
|
14
|
|
-#consistency check
|
|
13
|
+# Datahandlers are object that handles datas check, construction and
|
|
14
|
+# consistency check
|
15
|
15
|
#
|
16
|
16
|
|
17
|
17
|
|
18
|
|
-##@page lodel2_dh_checks_page Datahandlers datas checking
|
19
|
|
-#@ingroup lodel2_dh_checks
|
|
18
|
+## @page lodel2_dh_checks_page Datahandlers datas checking
|
|
19
|
+# @ingroup lodel2_dh_checks
|
20
|
20
|
#
|
21
|
|
-#@section lodel2_dh_check_mech Datas checking mechanism
|
|
21
|
+# @section lodel2_dh_check_mech Datas checking mechanism
|
22
|
22
|
#
|
23
|
|
-#The data checking mechanism is divided into 3 stages :
|
24
|
|
-# 1. **value checking** : a basic value check. Example : is len(value) < 52
|
25
|
|
-# 2. **data construction** : for datas that needs to be modified. Example :
|
26
|
|
-#a date that will be transformed into a Datetime object associated with
|
27
|
|
-#a timezone
|
28
|
|
-# 3. **data consistency checking** : perform a consistency checking on the
|
29
|
|
-#object from the "point of view" of the current field. Example : is the given
|
30
|
|
-#lodel_id an identifier of a Article
|
|
23
|
+# The data checking mechanism is divided into 3 stages :
|
|
24
|
+# 1. **value checking** : a basic value check. Example : is len(value) < 52 ?
|
|
25
|
+# 2. **data construction** : for data that needs to be modified. Example :
|
|
26
|
+# a date that will be transformed into a Datetime object associated with a
|
|
27
|
+# timezone
|
|
28
|
+# 3. **data consistency checking** : performs a consistency checking on the
|
|
29
|
+# object from the "point of view" of the current field. Example : is the
|
|
30
|
+# given lodel_id an identifier of an Article ?
|
31
|
31
|
#
|
32
|
|
-#@subsection lodel2_dh_check_impl Implementation
|
|
32
|
+# @subsection lodel2_dh_check_impl Implementation
|
33
|
33
|
#
|
34
|
|
-#Those three stages are implemented by 3 datahandlers methods :
|
|
34
|
+# Those three stages are implemented by 3 datahandlers methods :
|
35
|
35
|
# - @ref base_classes.DataHandler.check_data_value() "check_data_value"
|
36
|
36
|
# - @ref base_classes.DataHandler.construct_data() "construct_data"
|
37
|
37
|
# - @ref base_classes.DataHandler.check_data_value() "check_data_consitency"
|
38
|
38
|
#
|
39
|
|
-#@note To ensure the calls of the base classes methods child classes implements
|
40
|
|
-#those method with a '_' preffix :
|
|
39
|
+# @note To ensure the calls of the base classes methods child classes implements
|
|
40
|
+# those method with a '_' prefix :
|
41
|
41
|
# - @ref base_classes.DataHandler._check_data_value "_check_data_value()"
|
42
|
42
|
# - @ref base_classes.DataHandler._construct_data() "_construct_data"
|
43
|
43
|
# - @ref base_classes.DataHandler._check_data_value() "_check_data_consitency"
|
44
|
44
|
#
|
45
|
|
-#Examples of child classes can be found @ref datahandlers.datas "here"
|
|
45
|
+# Examples of child classes can be found @ref datahandlers.datas "here"
|
46
|
46
|
#
|
47
|
|
-#@subsubsection lodel2_dh_datas_construction Datas construction
|
|
47
|
+# @subsubsection lodel2_dh_datas_construction Datas construction
|
48
|
48
|
#
|
49
|
|
-#Datas construction is a bit tricky. When constructing a data handled by a
|
50
|
|
-#datahandler we may need to have access to other datas in the object (see
|
51
|
|
-#@ref base_classes.DataHandler.construct_data() "construct_data() arguments").
|
|
49
|
+# When constructing a data handled by a datahandler we may need to have access
|
|
50
|
+# to other datas in the object (see @ref base_classes.DataHandler.construct_data() "construct_data() arguments").
|
52
|
51
|
#
|
53
|
|
-#The problem reside in the construction order, if we need other datas we have
|
54
|
|
-#to be sure that they are allready constructed. To achieve this goal the datas
|
55
|
|
-#dict given as arguement to
|
56
|
|
-#@ref base_classes.DataHandler.construct_data() "construct_data()" is an
|
57
|
|
-#@ref base_classes.DatasConstructor "DatasConstructor" instance. This class
|
58
|
|
-#check if a data is constructed when trying to access to it, if not it runs
|
59
|
|
-#the corresponding construct_data() (and have a circular dependencies detection
|
60
|
|
-#mechanism)
|
|
52
|
+# The problem resides in the construction order, if we need other data we have
|
|
53
|
+# to be sure that they are already constructed. To achieve this goal the data
|
|
54
|
+# dictionary given as arguement to @ref base_classes.DataHandler.construct_data() "construct_data()"
|
|
55
|
+# is a @ref base_classes.DatasConstructor "DatasConstructor" instance. This class
|
|
56
|
+# checks if a data is constructed when trying to access it, if not it runs
|
|
57
|
+# the corresponding construct_data() (and have a circular dependencies detection
|
|
58
|
+# mechanism)
|
61
|
59
|
#
|
62
|
60
|
#@see base_classes.DatasConstructor.
|