Browse Source

Starts of a test editorial model

Yann Weber 9 years ago
parent
commit
2ff01ee498
1 changed files with 129 additions and 0 deletions
  1. 129
    0
      test_em.py

+ 129
- 0
test_em.py View File

@@ -0,0 +1,129 @@
1
+#-*- coding: utf-8 -*-
2
+
3
+from lodel.editorial_model.components import *
4
+from lodel.editorial_model.exceptions import *
5
+from lodel.editorial_model.model import EditorialModel
6
+
7
+em = EditorialModel('testem', 'Test editorial model')
8
+
9
+base_group = em.new_group(  'base_group',
10
+                            display_name = 'Base group',
11
+                            help_text = 'Base group that implements base EM features (like classtype)'
12
+)
13
+
14
+####################
15
+#   Lodel Object   #
16
+####################
17
+em_object = em.new_class(   'object',
18
+                            display_name = 'Object',
19
+                            help_text = 'Main class for all Em objects',
20
+                            group = base_group,
21
+                            abstract = True,
22
+)
23
+em_object.new_field(    'lodel_id',
24
+                        display_name = 'Lodel identifier',
25
+                        help_text = 'Uniq ID that identify every lodel object',
26
+                        group = base_group,
27
+                        data_handler = 'integer',
28
+                        internal = True,
29
+)
30
+em_object.new_field(    'help_text',
31
+                        display_name = 'Help',
32
+                        help_text = 'A short text that describe the object',
33
+                        group = base_group,
34
+                        internal = True,
35
+                        data_handler = 'text',
36
+)
37
+
38
+em_object.new_field(    'date_create',
39
+                        display_name = 'Creation date',
40
+                        group = base_group,
41
+                        data_handler = 'datetime',
42
+                        now_on_create = True,
43
+)
44
+em_object.new_field(    'date_update',
45
+                        display_name = 'Last update',
46
+                        group = base_group,
47
+                        data_handler = 'datetime',
48
+                        now_on_update = True,
49
+)
50
+em_object.new_field(    'classname',
51
+                        display_name = 'Class name',
52
+                        group = base_group,
53
+                        data_handler = 'varchar',
54
+                        immutable = True
55
+)
56
+
57
+########################
58
+# Lodel old classtypes #
59
+########################
60
+entitie = em.new_class( 'entitie',
61
+                        display_name = 'entitie',
62
+                        help_text = 'Replace old entity classtype',
63
+                        abstract = True,
64
+                        group = base_group,
65
+                        parents = em_object,
66
+)
67
+
68
+person = em.new_class(  'person',
69
+                        display_name = 'Person',
70
+                        help_text = 'Replace old person classtype',
71
+                        abstract = True,
72
+                        group = base_group,
73
+                        parents = em_object,
74
+)
75
+
76
+entry = em.new_class(   'entry',
77
+                        display_name = 'Entry',
78
+                        help_text = 'Replace olf entry classtype',
79
+                        abstract = True,
80
+                        group = base_group,
81
+                        parents = em_object,
82
+)
83
+
84
+#####################
85
+# Editorial classes #
86
+#####################
87
+
88
+editorial_group = em.new_group( 'editorial_abstract',
89
+                                display_name = 'Editorial base',
90
+                                help_text = {
91
+                                    'eng': 'Contains abstract class to handler editorial contents',
92
+                                    'fre': 'Contient les classes abstraites permetant la gestion de contenu éditorial'
93
+                                }
94
+                                depends = (base_group,)
95
+)
96
+
97
+# Classe texte
98
+texte = em.new_class(   'text',
99
+                        display_name = 'Text',
100
+                        help_text = 'Abstract class that represent texts',
101
+                        group = editorial_group,
102
+                        abtract = True,
103
+)
104
+
105
+texte.new_field(    'title',
106
+                    display_name = {'eng': 'Title', 'fre': 'Titre'},
107
+                    group = editorial_group,
108
+                    data_handler = 'varchar',
109
+)
110
+texte.new_field(    'subtitle',
111
+                    display_name = {
112
+                        'eng': 'Subtitle',
113
+                        'fre': 'Sous-titre',
114
+                    },
115
+                    group = editorial_group,
116
+                    data_handler = 'varchar',
117
+)
118
+
119
+# Classe collection
120
+collection = em.new_class(  'collection',
121
+                            display_name = 'Collection',
122
+                            group = editorial_group,
123
+                            abstract = True,
124
+)
125
+collection.new_field(   'title',
126
+                        display_name = 'Title',
127
+                        group = editorial_group,
128
+                        abstract = True,
129
+)

Loading…
Cancel
Save