server/schemaserial.py
changeset 10375 28ec01db78b3
parent 10191 cc4b8021bdf3
child 10411 4ee15441f2eb
equal deleted inserted replaced
10373:9579cd21412d 10375:28ec01db78b3
    19 
    19 
    20 __docformat__ = "restructuredtext en"
    20 __docformat__ = "restructuredtext en"
    21 
    21 
    22 import os
    22 import os
    23 import json
    23 import json
    24 
    24 import sys
    25 from logilab.common.shellutils import ProgressBar
    25 
       
    26 from logilab.common.shellutils import ProgressBar, DummyProgressBar
    26 
    27 
    27 from yams import (BadSchemaDefinition, schema as schemamod, buildobjs as ybo,
    28 from yams import (BadSchemaDefinition, schema as schemamod, buildobjs as ybo,
    28                   schema2sql as y2sql)
    29                   schema2sql as y2sql)
    29 
    30 
    30 from cubicweb import Binary
    31 from cubicweb import Binary
   348     execute = cnx.execute
   349     execute = cnx.execute
   349     eschemas = schema.entities()
   350     eschemas = schema.entities()
   350     pb_size = (len(eschemas + schema.relations())
   351     pb_size = (len(eschemas + schema.relations())
   351                + len(CONSTRAINTS)
   352                + len(CONSTRAINTS)
   352                + len([x for x in eschemas if x.specializes()]))
   353                + len([x for x in eschemas if x.specializes()]))
   353     pb = ProgressBar(pb_size, title=_title)
   354     if sys.stdout.isatty():
       
   355         pb = ProgressBar(pb_size, title=_title)
       
   356     else:
       
   357         pb = DummyProgressBar()
   354     groupmap = group_mapping(cnx, interactive=False)
   358     groupmap = group_mapping(cnx, interactive=False)
   355     # serialize all entity types, assuring CWEType is serialized first for proper
   359     # serialize all entity types, assuring CWEType is serialized first for proper
   356     # is / is_instance_of insertion
   360     # is / is_instance_of insertion
   357     eschemas.remove(schema.eschema('CWEType'))
   361     eschemas.remove(schema.eschema('CWEType'))
   358     eschemas.insert(0, schema.eschema('CWEType'))
   362     eschemas.insert(0, schema.eschema('CWEType'))