src/pyams_i18n/schema.py
changeset 9 017ad36cc2ba
parent 2 a44a73ee12f9
child 35 357ee895fd64
equal deleted inserted replaced
8:44a92dc178ce 9:017ad36cc2ba
    15 
    15 
    16 # import standard library
    16 # import standard library
    17 
    17 
    18 # import interfaces
    18 # import interfaces
    19 from pyams_i18n.interfaces.schema import II18nField, II18nTextLineField, II18nTextField, II18nFileField, II18nImageField, \
    19 from pyams_i18n.interfaces.schema import II18nField, II18nTextLineField, II18nTextField, II18nFileField, II18nImageField, \
    20     II18nThumbnailImageField
    20     II18nThumbnailImageField, II18nHTMLField
    21 from zope.schema.interfaces import RequiredMissing
    21 from zope.schema.interfaces import RequiredMissing
    22 
    22 
    23 # import packages
    23 # import packages
    24 from persistent.mapping import PersistentMapping
    24 from persistent.mapping import PersistentMapping
    25 from pyams_file.schema import FileField, ImageField, ThumbnailImageField
    25 from pyams_file.schema import FileField, ImageField, ThumbnailImageField
       
    26 from pyams_utils.schema import HTMLField
    26 from zope.interface import implementer
    27 from zope.interface import implementer
    27 from zope.schema import Dict, TextLine, Text
    28 from zope.schema import Dict, TextLine, Text
    28 
    29 
    29 
    30 
    30 _marker = object()
    31 _marker = object()
   101                                                             default=default,
   102                                                             default=default,
   102                                                             required=False),
   103                                                             required=False),
   103                                             **kwargs)
   104                                             **kwargs)
   104 
   105 
   105 
   106 
       
   107 @implementer(II18nHTMLField)
       
   108 class I18nHTMLField(I18nField):
       
   109     """I18n HTML field"""
       
   110 
       
   111     def __init__(self, key_type=None, value_type=None, default=None,
       
   112                  value_constraint=None, value_min_length=0, value_max_length=None, **kwargs):
       
   113         super(I18nHTMLField, self).__init__(value_type=HTMLField(constraint=value_constraint,
       
   114                                                                  min_length=value_min_length,
       
   115                                                                  max_length=value_max_length,
       
   116                                                                  default=default,
       
   117                                                                  required=False),
       
   118                                             **kwargs)
       
   119 
       
   120 
   106 @implementer(II18nFileField)
   121 @implementer(II18nFileField)
   107 class I18nFileField(I18nField):
   122 class I18nFileField(I18nField):
   108     """I18n file field"""
   123     """I18n file field"""
   109 
   124 
   110     def __init__(self, key_type=None, value_type=None, value_min_length=None, value_max_length=None, **kwargs):
   125     def __init__(self, key_type=None, value_type=None, value_min_length=None, value_max_length=None, **kwargs):