def replace_session(self, user_id, session_id, doc): # check that no document exists with # same session_id and different user_id try: self.session_manager.get(user_id, session_id) except freezer_api_exc.DocumentNotFound: pass valid_doc = SessionDoc.update(doc, user_id, session_id) (created, version) = self.session_manager.insert(valid_doc, session_id) if created: logging.info(_i18n._LI('Session %s created') % session_id) else: logging.info(_i18n._LI('Session %(id)s replaced with version %(version)s' % {'id': session_id, 'version': version})) return version