schema.py
changeset 10517 fa9a0c80556d
parent 10447 d309c020d9fb
child 10531 51261952d068
equal deleted inserted replaced
10516:4c59409220b6 10517:fa9a0c80556d
    36 from yams.schema import Schema, ERSchema, EntitySchema, RelationSchema, \
    36 from yams.schema import Schema, ERSchema, EntitySchema, RelationSchema, \
    37      RelationDefinitionSchema, PermissionMixIn, role_name
    37      RelationDefinitionSchema, PermissionMixIn, role_name
    38 from yams.constraints import (BaseConstraint, FormatConstraint, BoundaryConstraint,
    38 from yams.constraints import (BaseConstraint, FormatConstraint, BoundaryConstraint,
    39                               IntervalBoundConstraint, StaticVocabularyConstraint)
    39                               IntervalBoundConstraint, StaticVocabularyConstraint)
    40 from yams.reader import (CONSTRAINTS, PyFileReader, SchemaLoader,
    40 from yams.reader import (CONSTRAINTS, PyFileReader, SchemaLoader,
    41                          obsolete as yobsolete, cleanup_sys_modules,
    41                          cleanup_sys_modules, fill_schema_from_namespace)
    42                          fill_schema_from_namespace)
       
    43 
    42 
    44 from rql import parse, nodes, RQLSyntaxError, TypeResolverException
    43 from rql import parse, nodes, RQLSyntaxError, TypeResolverException
    45 from rql.analyze import ETypeResolver
    44 from rql.analyze import ETypeResolver
    46 
    45 
    47 import cubicweb
    46 import cubicweb
  1401             hasperm = cw.user.matching_groups(MAY_USE_TEMPLATE_FORMAT)
  1400             hasperm = cw.user.matching_groups(MAY_USE_TEMPLATE_FORMAT)
  1402         if hasperm:
  1401         if hasperm:
  1403             return self.regular_formats + tuple(NEED_PERM_FORMATS)
  1402             return self.regular_formats + tuple(NEED_PERM_FORMATS)
  1404     return self.regular_formats
  1403     return self.regular_formats
  1405 
  1404 
  1406 # XXX monkey patch PyFileReader.import_erschema until bw_normalize_etype is
       
  1407 # necessary
       
  1408 orig_import_erschema = PyFileReader.import_erschema
       
  1409 def bw_import_erschema(self, ertype, schemamod=None, instantiate=True):
       
  1410     return orig_import_erschema(self, bw_normalize_etype(ertype), schemamod, instantiate)
       
  1411 PyFileReader.import_erschema = bw_import_erschema
       
  1412 
       
  1413 # XXX itou for some Statement methods
  1405 # XXX itou for some Statement methods
  1414 from rql import stmts
  1406 from rql import stmts
  1415 orig_get_etype = stmts.ScopeNode.get_etype
  1407 orig_get_etype = stmts.ScopeNode.get_etype
  1416 def bw_get_etype(self, name):
  1408 def bw_get_etype(self, name):
  1417     return orig_get_etype(self, bw_normalize_etype(name))
  1409     return orig_get_etype(self, bw_normalize_etype(name))
  1429 
  1421 
  1430 orig_set_statement_type = stmts.Select.set_statement_type
  1422 orig_set_statement_type = stmts.Select.set_statement_type
  1431 def bw_set_statement_type(self, etype):
  1423 def bw_set_statement_type(self, etype):
  1432     return orig_set_statement_type(self, bw_normalize_etype(etype))
  1424     return orig_set_statement_type(self, bw_normalize_etype(etype))
  1433 stmts.Select.set_statement_type = bw_set_statement_type
  1425 stmts.Select.set_statement_type = bw_set_statement_type
  1434 
       
  1435 # XXX deprecated
       
  1436 
       
  1437 from yams.constraints import StaticVocabularyConstraint
       
  1438 
       
  1439 RichString = moved('yams.buildobjs', 'RichString')
       
  1440 
       
  1441 StaticVocabularyConstraint = class_moved(StaticVocabularyConstraint)
       
  1442 FormatConstraint = class_moved(FormatConstraint)
       
  1443 
       
  1444 PyFileReader.context['ERQLExpression'] = yobsolete(ERQLExpression)
       
  1445 PyFileReader.context['RRQLExpression'] = yobsolete(RRQLExpression)
       
  1446 PyFileReader.context['WorkflowableEntityType'] = WorkflowableEntityType