def reset_user_dict(user_code, filename, user_id=None, temp_user_id=None, force=False): #logmessage("reset_user_dict called with " + str(user_code) + " and " + str(filename)) if force: the_user_id = None else: if user_id is None and temp_user_id is None: if current_user.is_authenticated and not current_user.is_anonymous: user_type = 'user' the_user_id = current_user.id else: user_type = 'tempuser' the_user_id = session.get('tempuser', None) elif user_id is not None: user_type = 'user' the_user_id = user_id else: user_type = 'tempuser' the_user_id = temp_user_id if the_user_id is None: UserDictKeys.query.filter_by(key=user_code, filename=filename).delete() db.session.commit() do_delete = True else: if user_type == 'user': UserDictKeys.query.filter_by(key=user_code, filename=filename, user_id=the_user_id).delete() else: UserDictKeys.query.filter_by(key=user_code, filename=filename, temp_user_id=the_user_id).delete() db.session.commit() existing_user_dict_key = UserDictKeys.query.filter_by(key=user_code, filename=filename).first() if not existing_user_dict_key: do_delete = True else: do_delete = False if do_delete: UserDict.query.filter_by(key=user_code, filename=filename).delete() db.session.commit() for upload in Uploads.query.filter_by(key=user_code, yamlfile=filename, persistent=False).all(): old_file = SavedFile(upload.indexno) old_file.delete() Uploads.query.filter_by(key=user_code, yamlfile=filename, persistent=False).delete() db.session.commit() # Attachments.query.filter_by(key=user_code, filename=filename).delete() # db.session.commit() SpeakList.query.filter_by(key=user_code, filename=filename).delete() db.session.commit() ChatLog.query.filter_by(key=user_code, filename=filename).delete() db.session.commit() Shortener.query.filter_by(uid=user_code, filename=filename).delete() db.session.commit() #logmessage("reset_user_dict: done") return
def reset_user_dict(user_code, filename, user_id=None, temp_user_id=None, force=False): #logmessage("reset_user_dict called with " + str(user_code) + " and " + str(filename)) if force: the_user_id = None else: if user_id is None and temp_user_id is None: if current_user.is_authenticated and not current_user.is_anonymous: user_type = 'user' the_user_id = current_user.id else: user_type = 'tempuser' the_user_id = session.get('tempuser', None) elif user_id is not None: user_type = 'user' the_user_id = user_id else: user_type = 'tempuser' the_user_id = temp_user_id if the_user_id is None: UserDictKeys.query.filter_by(key=user_code, filename=filename).delete() db.session.commit() do_delete = True else: if user_type == 'user': UserDictKeys.query.filter_by(key=user_code, filename=filename, user_id=the_user_id).delete() else: UserDictKeys.query.filter_by(key=user_code, filename=filename, temp_user_id=the_user_id).delete() db.session.commit() existing_user_dict_key = UserDictKeys.query.filter_by( key=user_code, filename=filename).first() if not existing_user_dict_key: do_delete = True else: do_delete = False if do_delete: UserDict.query.filter_by(key=user_code, filename=filename).delete() db.session.commit() for upload in Uploads.query.filter_by(key=user_code, yamlfile=filename, persistent=False).all(): old_file = SavedFile(upload.indexno) old_file.delete() Uploads.query.filter_by(key=user_code, yamlfile=filename, persistent=False).delete() db.session.commit() # Attachments.query.filter_by(key=user_code, filename=filename).delete() # db.session.commit() SpeakList.query.filter_by(key=user_code, filename=filename).delete() db.session.commit() ChatLog.query.filter_by(key=user_code, filename=filename).delete() db.session.commit() Shortener.query.filter_by(uid=user_code, filename=filename).delete() db.session.commit() #logmessage("reset_user_dict: done") return
def delete_user_data(user_id, r, r_user): UserDict.query.filter_by(user_id=user_id).delete() db.session.commit() UserDictKeys.query.filter_by(user_id=user_id).delete() db.session.commit() ChatLog.query.filter_by(owner_id=user_id).delete() db.session.commit() ChatLog.query.filter_by(user_id=user_id).delete() db.session.commit() GlobalObjectStorage.query.filter_by(user_id=user_id).delete() db.session.commit() for package_auth in PackageAuth.query.filter_by(user_id=user_id).all(): package_auth.user_id = 1 db.session.commit() files_to_delete = list() for short_code_item in Shortener.query.filter_by(user_id=user_id).all(): for email in Email.query.filter_by(short=short_code_item.short).all(): for attachment in EmailAttachment.query.filter_by(email_id=email.id).all(): files_to_delete.append(attachment.upload) for file_number in files_to_delete: the_file = SavedFile(file_number) the_file.delete() Shortener.query.filter_by(user_id=user_id).delete() db.session.commit() UserRoles.query.filter_by(user_id=user_id).delete() db.session.commit() for user_auth in UserAuthModel.query.filter_by(user_id=user_id): user_auth.password = '' user_auth.reset_password_token = '' db.session.commit() for section in ('playground', 'playgroundmodules', 'playgroundpackages', 'playgroundsources', 'playgroundstatic', 'playgroundtemplate'): the_section = SavedFile(user_id, section=section) the_section.delete() old_email = None for user_object in UserModel.query.filter_by(id=user_id): old_email = user_object.email user_object.active = False user_object.first_name = '' user_object.last_name = '' user_object.nickname = '' user_object.email = None user_object.country = '' user_object.subdivisionfirst = '' user_object.subdivisionsecond = '' user_object.subdivisionthird = '' user_object.organization = '' user_object.timezone = None user_object.language = None user_object.pypi_username = None user_object.pypi_password = None user_object.otp_secret = None user_object.social_id = 'disabled$' + text_type(user_id) db.session.commit() keys_to_delete = set() for key in r.keys('*userid:' + text_type(user_id)): keys_to_delete.add(key) for key in r.keys('*userid:' + text_type(user_id) + ':*'): keys_to_delete.add(key) for key in keys_to_delete: r.delete(key) keys_to_delete = set() for key in r_user.keys('*:user:' + text_type(old_email)): keys_to_delete.add(key) for key in keys_to_delete: r_user.delete(key)
def reset_user_dict(user_code, filename, user_id=None, temp_user_id=None, force=False): #logmessage("reset_user_dict called with " + str(user_code) + " and " + str(filename)) if force: the_user_id = None else: if user_id is None and temp_user_id is None: if current_user.is_authenticated and not current_user.is_anonymous: user_type = 'user' the_user_id = current_user.id else: user_type = 'tempuser' the_user_id = session.get('tempuser', None) elif user_id is not None: user_type = 'user' the_user_id = user_id else: user_type = 'tempuser' the_user_id = temp_user_id if the_user_id is None: UserDictKeys.query.filter_by(key=user_code, filename=filename).delete() db.session.commit() do_delete = True else: if user_type == 'user': UserDictKeys.query.filter_by(key=user_code, filename=filename, user_id=the_user_id).delete() else: UserDictKeys.query.filter_by(key=user_code, filename=filename, temp_user_id=the_user_id).delete() db.session.commit() existing_user_dict_key = UserDictKeys.query.filter_by( key=user_code, filename=filename).first() if not existing_user_dict_key: do_delete = True else: do_delete = False if do_delete: UserDict.query.filter_by(key=user_code, filename=filename).delete() db.session.commit() files_to_delete = list() for speaklist in SpeakList.query.filter_by(key=user_code, filename=filename).all(): if speaklist.upload is not None: files_to_delete.append(speaklist.upload) SpeakList.query.filter_by(key=user_code, filename=filename).delete() db.session.commit() for upload in Uploads.query.filter_by(key=user_code, yamlfile=filename, persistent=False).all(): files_to_delete.append(upload.indexno) Uploads.query.filter_by(key=user_code, yamlfile=filename, persistent=False).delete() db.session.commit() ChatLog.query.filter_by(key=user_code, filename=filename).delete() db.session.commit() for short_code_item in Shortener.query.filter_by( uid=user_code, filename=filename).all(): for email in Email.query.filter_by( short=short_code_item.short).all(): for attachment in EmailAttachment.query.filter_by( email_id=email.id).all(): files_to_delete.append(attachment.upload) Shortener.query.filter_by(uid=user_code, filename=filename).delete() db.session.commit() for file_number in files_to_delete: the_file = SavedFile(file_number) the_file.delete() return