Ejemplo n.º 1
0
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
Ejemplo n.º 2
0
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)
Ejemplo n.º 3
0
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 {}
Ejemplo n.º 7
0
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")
Ejemplo n.º 8
0
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'])
Ejemplo n.º 9
0
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)))

Ejemplo n.º 10
0
def count_text(input):
    words = get_words(input)
    freqs = Counter(words)
    update_data(freqs)
    return frequencies_string(freqs)
Ejemplo n.º 11
0
 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))