Esempio n. 1
0
 def _init_field(self, depth=None, force=False):
     validate = [
         RegexValidator(
             regex="^[^$_]",
             message=u'Ensure the keys do not begin with : ["$","_"].',
             code="invalid_start",
         )
     ]
     if force:
         self.field = DictField(
             **{
                 "required": False,
                 "initial": {
                     "k": "v",
                     "k2": {
                         "k3": "v2"
                     },
                     "k4": {
                         "k5": "v3",
                         "k6": "v4"
                     },
                 },
                 "validators": validate,
                 "flags": ["FORCE_SCHEMA"],
                 "max_depth": depth,
             })
     else:
         self.field = DictField(
             **{
                 "required": False,
                 "initial": {
                     "k": "v",
                     "k2": {
                         "k3": "v2"
                     }
                 },
                 "validators": validate,
                 "max_depth": depth,
             })
Esempio n. 2
0
 def _init_field(self, depth=None, force=False):
     validate = [
         RegexValidator(
             regex='^[^$_]',
             message=u'Ensure the keys do not begin with : ["$","_"].',
             code='invalid_start')
     ]
     if force:
         self.field = DictField(
             **{
                 'required': False,
                 'initial': {
                     'k': 'v',
                     'k2': {
                         'k3': 'v2'
                     },
                     'k4': {
                         'k5': 'v3',
                         'k6': 'v4'
                     }
                 },
                 'validators': validate,
                 'flags': ['FORCE_SCHEMA'],
                 'max_depth': depth,
             })
     else:
         self.field = DictField(
             **{
                 'required': False,
                 'initial': {
                     'k': 'v',
                     'k2': {
                         'k3': 'v2'
                     }
                 },
                 'validators': validate,
                 'max_depth': depth,
             })
Esempio n. 3
0
 def generate_dictfield(self, field, **kwargs):
     #remove Mongo reserved words
     validate = [
         RegexValidator(
             regex='^[^$_]',
             message=u'Ensure the keys do not begin with : ["$","_"].',
             code='invalid_start')
     ]
     defaults = {
         'required': field.required,
         'initial': field.default,
         'label': self.get_field_label(field),
         'help_text': self.get_field_help_text(field),
         'validators': validate,
     }
     return DictField(**defaults)
Esempio n. 4
0
 def get_form(self, form_class):
     form = super(AddPostView, self).get_form(form_class)
     music_parameters = form.fields.get('music_parameters', None)
     if music_parameters is not None:
         schema = {
             'Artist': '',
             'Title': '',
             'Album': '',
             'Genre': '',
             'Label': '',
             'Release dates': {
                 'UK': '',
                 'US': '',
                 'FR': ''
             }
         }
         music_parameters = DictField(initial=schema, flags=['FORCE_SCHEMA'])
         form.fields['music_parameters'] = music_parameters
     return form
Esempio n. 5
0
 def get_form(self, form_class=None):
     form = super(AddPostView, self).get_form(form_class)
     music_parameters = form.fields.get("music_parameters", None)
     if music_parameters is not None:
         schema = {
             "Artist": "",
             "Title": "",
             "Album": "",
             "Genre": "",
             "Label": "",
             "Release dates": {
                 "UK": "",
                 "US": "",
                 "FR": ""
             },
         }
         music_parameters = DictField(initial=schema,
                                      flags=["FORCE_SCHEMA"])
         form.fields["music_parameters"] = music_parameters
     return form