def log_user_out(token): '''Logs user out and updates database''' data = get_data() for user in data['users_']: if token == user['token'] and user['is_active']: user['is_active'] = False update_data(data) return True return False
def count_file(filename): freqs = Counter() with open(filename, 'r') as file: chunk_reader = partial(_read_chunk_full_words, file) for chunk in iter(chunk_reader, ''): words = get_words(chunk) freqs.update(Counter(words)) update_data(freqs) return frequencies_string(freqs)
def log_user_in(email): '''Logs user in and updates data base, assumes email is correct''' data = get_data() for user in data['users_']: if email == user['email']: user['is_active'] = True user['token'] = generate_token() update_data(data) return (user['u_id'], user['token']) # Very unlikely event, coverage likely won't cover this raise InputError('Incorrect email')
def user_profile_sethandle(token, handle_str): """update user handle if it's valid""" if is_token_valid(token): data = get_data() if not is_handle_valid(handle_str): raise InputError if same_handle_exists(handle_str): raise InputError for user in data['users_']: if token == user['token']: user['handle_str'] = handle_str update_data(data) return {}
def user_profile_setemail(token, email): """update user email if it's valid""" if is_token_valid(token): data = get_data() if not is_email_valid(email): raise InputError if same_email_exists(email): raise InputError else: for user in data['users_']: if token == user['token']: user['email'] = email update_data(data) return {}
def user_profile_setname(token, name_first, name_last): """update user name if it's valid""" if is_token_valid(token): data = get_data() if not is_name_valid(name_first)\ or not is_name_valid(name_last): raise InputError for user in data['users_']: if token == user['token']: takeId = user['u_id'] user['name_first'] = name_first user['name_last'] = name_last update_data(data) return {}
async def update(ctx): global update_flag if update_flag == False: try: global virus_data update_flag = True await ctx.send("Updating. Please Wait") data.update_data() virus_data = update_local() await ctx.send("Data Updated") update_flag = False except: update_flag = False else: print("Update in progess")
def create_new_user(email, password, name_first, name_last): '''Creates a new user data structure''' data = get_data() new_user = { 'u_id': generate_u_id(), 'email': email, 'name_first': name_first, 'name_last': name_last, 'handle_str': generate_handle_str(name_first, name_last), 'permission_id': generate_permission_id(), 'is_active': True, 'token': generate_token(), 'hash_password': hashed(password), 'reset_code': hashed(password)[:10], } data['users_'].append(new_user) update_data(data) return (new_user['u_id'], new_user['token'])
import api import data import logging_config dictConfig(logging_config.config) app = Flask(__name__) app.add_url_rule('/countries_sorted', 'countries_sorted', api.countries_sorted) @app.route('/') def main(): '''Main page of the site.''' num = request.args.get('num', '15') per_capita = request.args.get('per_capita', 'off') with data.data_lock: return render_template('index.html', per_capita=per_capita, num=num) if __name__ == '__main__': data.update_data() # This thread is a daemon, so it stops when the main thread is done. thread = threading.Thread(target=data.periodically_update_data, daemon=True) logging.info('Starting data update thread') thread.start() logging.info('Starting app') app.run(host='0.0.0.0', port=int(os.environ.get('PORT', 5000)))
def count_text(input): words = get_words(input) freqs = Counter(words) update_data(freqs) return frequencies_string(freqs)
def operate_int_value(self, key_value, value): current_value = self.get_value(key_value) new_value = current_value + value data.update_data( "UPDATE {0} SET {1} = ? WHERE {2} = ?".format(self.table_name, self.column_name, self.key_name), (new_value, key_value))