diff -r 28db21e0c8e5 -r ef54ea75a642 server/repository.py --- a/server/repository.py Wed Apr 22 17:45:27 2015 +0200 +++ b/server/repository.py Wed Apr 22 18:28:58 2015 +0200 @@ -49,7 +49,7 @@ UniqueTogetherError, onevent) from cubicweb import cwvreg, schema, server from cubicweb.server import ShuttingDown, utils, hook, querier, sources -from cubicweb.server.session import Session, InternalSession, InternalManager +from cubicweb.server.session import Session, InternalManager from cubicweb.server.ssplanner import EditedEntity NO_CACHE_RELATIONS = set( [('owned_by', 'object'), @@ -627,14 +627,14 @@ for k in chain(fetch_attrs, query_attrs): if k not in cwuserattrs: raise Exception('bad input for find_user') - with self.internal_session() as session: + with self.internal_cnx() as cnx: varmaker = rqlvar_maker() vars = [(attr, varmaker.next()) for attr in fetch_attrs] rql = 'Any %s WHERE X is CWUser, ' % ','.join(var[1] for var in vars) rql += ','.join('X %s %s' % (var[0], var[1]) for var in vars) + ',' - rset = session.execute(rql + ','.join('X %s %%(%s)s' % (attr, attr) - for attr in query_attrs), - query_attrs) + rset = cnx.execute(rql + ','.join('X %s %%(%s)s' % (attr, attr) + for attr in query_attrs), + query_attrs) return rset.rows def new_session(self, login, **kwargs): @@ -710,27 +710,6 @@ nbclosed += 1 return nbclosed - @deprecated("[3.19] use internal_cnx now\n" - "(Beware that integrity hook are now enabled by default)") - def internal_session(self, cnxprops=None, safe=False): - """return a dbapi like connection/cursor using internal user which have - every rights on the repository. The `safe` argument is a boolean flag - telling if integrity hooks should be activated or not. - - /!\ the safe argument is False by default. - - *YOU HAVE TO* commit/rollback or close (rollback implicitly) the - session once the job's done, else you'll leak connections set up to the - time where no one is available, causing irremediable freeze... - """ - session = InternalSession(self, cnxprops) - if not safe: - session.disable_hook_categories('integrity') - session.disable_hook_categories('security') - session._cnx.ctx_count += 1 - session.set_cnxset() - return session - @contextmanager def internal_cnx(self): """Context manager returning a Connection using internal user which have @@ -739,7 +718,7 @@ Beware that unlike the older :meth:`internal_session`, internal connections have all hooks beside security enabled. """ - with InternalSession(self) as session: + with Session(InternalManager(), self) as session: with session.new_cnx() as cnx: with cnx.security_enabled(read=False, write=False): with cnx.ensure_cnx_set: