コード例 #1
0
ファイル: views.py プロジェクト: firasBarrek/gengine
def increase_data(request):
    dir_name = os.path.dirname(
        os.path.abspath(__file__)) + "\\csv_uploads\\file.csv"
    params = request.GET
    if request.method == 'POST':
        if 'upload' in request.POST:
            dir_name = os.path.dirname(
                os.path.abspath(__file__)) + "\\csv_uploads\\values_data.csv"
            content = request.POST['file'].file
            content = content.read()
            content = content.decode('utf-8', 'ignore')

            my_dict = p.get_book(file_type="csv",
                                 file_content=content,
                                 delimiter=';')
            my_dict.save_as(dir_name, delimiter=';')

            with open(dir_name) as f:
                keys_data = f.readline().rstrip().split(";")
            params.update({'id': request.POST['achievement_id']})
            return render_to_response(
                'gengine.app:templates/index/increase_data.jinja2', {
                    'keys_data': keys_data,
                    'params': params
                },
                request=request)
        elif 'value' in request.POST:
            user_id = request.POST["user_id"]
            variable = request.POST["variable"]
            value = request.POST["value"]
            user_id_value = request.POST["user_id_value"]
            achievement_id = request.POST['achievement_id']
            res_id_user = User.get_by_id(user_id, user_id_value)
            Value.increaseByValue(variable, res_id_user, value)
            Achievement.update_user_value(achievement_id, res_id_user)
            return HTTPFound(request.route_url('increase_data', _query=params))
        else:
            user_id = request.POST["user_id"]
            variable = request.POST["variable"]
            achievement_id = params["id"]
            Value.increase(achievement_id, variable, user_id, dir_name)
            return HTTPFound(request.route_url('leaderboard', _query=params))
    else:
        with open(dir_name) as f:
            keys = f.readline().rstrip().split(";")
        achievements = Achievement.get_all_achievements()
        return {'achievements': achievements, 'params': params, 'keys': keys}
コード例 #2
0
ファイル: views.py プロジェクト: firasBarrek/gengine
def goal(request):
    params = request.GET
    dir_name = os.path.dirname(
        os.path.abspath(__file__)) + "\\csv_uploads\\file.csv"
    if request.method == 'POST':
        user_id = params["user_id"]
        variable = request.POST["variable"]
        goal_name = request.POST["goal_name"]
        goal_goal = request.POST["goal_goal"]
        achievement_id = params["id"]
        goal_condition = request.POST["goal_condition"]
        Variable.add_variable(variable)
        Goal.add_goal(goal_name, goal_condition, goal_goal, achievement_id)
        Value.increase(achievement_id, variable, user_id, dir_name)
        return HTTPFound(request.route_url('leaderboard', _query=params))
    else:
        with open(dir_name) as f:
            keys = f.readline().rstrip().split(";")
        return {'keys': keys, 'params': params}