schema.py
changeset 10674 f0006bdd36e9
parent 10667 c23dc4f7467a
child 10689 49a62b8f6d43
equal deleted inserted replaced
10673:9924fd69bcba 10674:f0006bdd36e9
   993         rschema = self.add_relation_type(ybo.RelationType('identity'))
   993         rschema = self.add_relation_type(ybo.RelationType('identity'))
   994         rschema.final = False
   994         rschema.final = False
   995 
   995 
   996     etype_name_re = r'[A-Z][A-Za-z0-9]*[a-z]+[A-Za-z0-9]*$'
   996     etype_name_re = r'[A-Z][A-Za-z0-9]*[a-z]+[A-Za-z0-9]*$'
   997     def add_entity_type(self, edef):
   997     def add_entity_type(self, edef):
   998         edef.name = edef.name.encode()
   998         edef.name = str(edef.name)
   999         edef.name = bw_normalize_etype(edef.name)
   999         edef.name = bw_normalize_etype(edef.name)
  1000         if not re.match(self.etype_name_re, edef.name):
  1000         if not re.match(self.etype_name_re, edef.name):
  1001             raise BadSchemaDefinition(
  1001             raise BadSchemaDefinition(
  1002                 '%r is not a valid name for an entity type. It should start '
  1002                 '%r is not a valid name for an entity type. It should start '
  1003                 'with an upper cased letter and be followed by at least a '
  1003                 'with an upper cased letter and be followed by at least a '
  1018     def add_relation_type(self, rdef):
  1018     def add_relation_type(self, rdef):
  1019         if not rdef.name.islower():
  1019         if not rdef.name.islower():
  1020             raise BadSchemaDefinition(
  1020             raise BadSchemaDefinition(
  1021                 '%r is not a valid name for a relation type. It should be '
  1021                 '%r is not a valid name for a relation type. It should be '
  1022                 'lower cased' % rdef.name)
  1022                 'lower cased' % rdef.name)
  1023         rdef.name = rdef.name.encode()
  1023         rdef.name = str(rdef.name)
  1024         rschema = super(CubicWebSchema, self).add_relation_type(rdef)
  1024         rschema = super(CubicWebSchema, self).add_relation_type(rdef)
  1025         self._eid_index[rschema.eid] = rschema
  1025         self._eid_index[rschema.eid] = rschema
  1026         return rschema
  1026         return rschema
  1027 
  1027 
  1028     def add_relation_def(self, rdef):
  1028     def add_relation_def(self, rdef):