[session] cleanup session-time / cleanup-session-time...
which are hard to grasp while there is no actual benefit to handle both.
Now repo will close session without any activity since cleanup-session-time (24h by default),
and the web authentication chain won't reconnect automatically anymore. I don't think there
is a big deal in keeping repo session for such time.
Also, ask the repo for latest session usage time, we can't know it for real on the
web side (think of long running transactions).
Closes #1083245.
"""execute this script if you've migration to file >= 1.9.0 with cubicweb <= 3.9.2FYI, this migration occured :* on our intranet on July 07 2010* on our extranet on July 16 2010"""from__future__importwith_statementtry:backupinstance,=__args__exceptValueError:print'USAGE: cubicweb-ctl shell <instance> repair_file_1-9_migration.py -- <backup instance id>'printprint'you should restored the backup on a new instance, accessible through pyro'fromcubicwebimportcwconfig,dbapifromcubicweb.server.sessionimporthooks_controlsourcescfg=repo.config.sources()backupcfg=cwconfig.instance_configuration(backupinstance)backupcfg.repairing=Truebackuprepo,backupcnx=dbapi.in_memory_cnx(backupcfg,sourcescfg['admin']['login'],password=sourcescfg['admin']['password'],host='localhost')backupcu=backupcnx.cursor()withhooks_control(session,session.HOOKS_DENY_ALL):rql('SET X is Y WHERE X is File, Y name "File", NOT X is Y')rql('SET X is_instance_of Y WHERE X is File, Y name "File", NOT X is_instance_of Y')forrtype,inbackupcu.execute('DISTINCT Any RTN WHERE X relation_type RT, RT name RTN,''X from_entity Y, Y name "Image", X is CWRelation, ''EXISTS(XX is CWRelation, XX relation_type RT, ''XX from_entity YY, YY name "File")'):ifrtypein('is','is_instance_of'):continueprintrtypeforfeid,xeidinbackupcu.execute('Any F,X WHERE F %s X, F is IN (File,Image)'%rtype):print'restoring relation %s between file %s and %s'%(rtype,feid,xeid),printrql('SET F %s X WHERE F eid %%(f)s, X eid %%(x)s, NOT F %s X'%(rtype,rtype),{'f':feid,'x':xeid})forrtype,inbackupcu.execute('DISTINCT Any RTN WHERE X relation_type RT, RT name RTN,''X to_entity Y, Y name "Image", X is CWRelation, ''EXISTS(XX is CWRelation, XX relation_type RT, ''XX to_entity YY, YY name "File")'):printrtypeforfeid,xeidinbackupcu.execute('Any F,X WHERE X %s F, F is IN (File,Image)'%rtype):print'restoring relation %s between %s and file %s'%(rtype,xeid,feid),printrql('SET X %s F WHERE F eid %%(f)s, X eid %%(x)s, NOT X %s F'%(rtype,rtype),{'f':feid,'x':xeid})commit()