[server] make internal_cnx get and keep a connection to the db
- internal_session worked that way
- it's less surprising for users if their internal connections "just
work", rather than having to deal with the cnxset when using low-level
APIs
Includes a backout of 3f62606c01a2 "[repo] Fix register_user" which is
no longer needed.
Depend on logilab-database 1.12.1 to avoid errors due to pointless check
in python's sqlite3 binding.
"""This module compare the Schema on the file system to the one in the database"""
from cStringIO import StringIO
from cubicweb.web.schemaviewer import SchemaViewer
from logilab.common.ureports import TextWriter
import difflib
viewer = SchemaViewer()
layout_db = viewer.visit_schema(schema, display_relations=True)
layout_fs = viewer.visit_schema(fsschema, display_relations=True)
writer = TextWriter()
stream_db = StringIO()
stream_fs = StringIO()
writer.format(layout_db, stream=stream_db)
writer.format(layout_fs, stream=stream_fs)
stream_db.seek(0)
stream_fs.seek(0)
db = stream_db.getvalue().splitlines()
fs = stream_fs.getvalue().splitlines()
open('db_schema.txt', 'w').write(stream_db.getvalue())
open('fs_schema.txt', 'w').write(stream_fs.getvalue())
#for diff in difflib.ndiff(fs, db):
# print diff