Browse Source

Added a generic datafield class name to all the data field modules (to be called dynamically)

Roland Haroutiounian 9 years ago
parent
commit
3d72fcbfcc

+ 1
- 1
Lodel/leapi/datahandlers/data_fields/bool.py View File

@@ -2,7 +2,7 @@
2 2
 from ..data_field import DataField
3 3
 
4 4
 
5
-class Bool(DataField):
5
+class EmDataField(DataField):
6 6
 
7 7
     help = 'A basic boolean field'
8 8
     ftype = 'bool'

+ 1
- 1
Lodel/leapi/datahandlers/data_fields/datetime.py View File

@@ -2,7 +2,7 @@
2 2
 from ..data_field import DataField
3 3
 
4 4
 
5
-class Datetime(DataField):
5
+class EmDataField(DataField):
6 6
 
7 7
     help = 'A datetime field. Take two boolean options now_on_update and now_on_create'
8 8
 

+ 1
- 1
Lodel/leapi/datahandlers/data_fields/file.py View File

@@ -2,7 +2,7 @@
2 2
 from ..data_field import DataField
3 3
 
4 4
 
5
-class File(DataField):
5
+class EmDataField(DataField):
6 6
 
7 7
     ## @brief a file field
8 8
     # @param upload_path str : None by default

+ 1
- 1
Lodel/leapi/datahandlers/data_fields/integer.py View File

@@ -2,7 +2,7 @@
2 2
 from ..data_field import DataField
3 3
 
4 4
 
5
-class Integer(DataField):
5
+class EmDataField(DataField):
6 6
 
7 7
     help = 'Basic integer field'
8 8
     ftype = 'int'

+ 1
- 1
Lodel/leapi/datahandlers/data_fields/text.py View File

@@ -2,7 +2,7 @@
2 2
 from ..data_field import DataField
3 3
 
4 4
 
5
-class Text(DataField):
5
+class EmDataField(DataField):
6 6
     help = 'A text field (big string)'
7 7
     ftype = 'text'
8 8
 

+ 2
- 2
Lodel/leapi/datahandlers/data_fields/uid.py View File

@@ -1,8 +1,8 @@
1 1
 # -*- coding: utf-8 -*-
2
-from .integer import Integer
2
+from .integer import EmDataField
3 3
 
4 4
 
5
-class Uid(Integer):
5
+class EmDataField(EmDataField):
6 6
 
7 7
     help = 'Fieldtype designed to handle editorial model UID'
8 8
 

+ 24
- 2
Lodel/leapi/datahandlers/field_data_handler.py View File

@@ -1,7 +1,29 @@
1 1
 # -*- coding: utf-8 -*-
2
-
2
+import importlib
3 3
 
4 4
 class FieldDataHandler(object):
5 5
 
6
+    help_text = 'Generic Field Data Handler'
7
+
8
+    ## @brief constructor
6 9
     def __init__(self):
7
-        pass
10
+        pass
11
+
12
+    ## @brief calls the data_field defined _check_data_value() method
13
+    # @return tuple (value, error|None)
14
+    def check_data_value(self, value):
15
+        return self._check_data_value(value)
16
+
17
+    def _check_data_value(self, value):
18
+        return (value, None)
19
+
20
+    ## @brief given a field type name, returns the associated python class
21
+    # @param fieldtype_name str : A field type name
22
+    # @return DataField child class
23
+    @staticmethod
24
+    def from_name(fieldtype_name):
25
+        mod = importlib.import_module(FieldDataHandler.module_name(fieldtype_name))
26
+        return mod.EmDataField
27
+
28
+    def module_name(self, fieldtype_name):
29
+        return 'leapi.datahandlers.data_fields.%s' % fieldtype_name

Loading…
Cancel
Save