No Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

test_em.py 4.6KB

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