Exemple #1
0
def stocks_save_filter(filter_id):
    if request.method == 'POST':
        current_filter = db.filter_by_id(filter_id)
        name = request.form.get('filter_name', '')
        current_filter['name'] = name
        db.save_filter(current_filter)
        return redirect(url_for('stocks', filter_id=filter_id))      
Exemple #2
0
def stocks_remove_filter_option(filter_id, filter_option_id):
    current_filter = db.filter_by_id(filter_id)
    remain = [o for o in current_filter.get('options', []) if o['_id'] != ObjectId(filter_option_id)]
    current_filter['options'] = remain
    db.save_filter(current_filter)

    return redirect(url_for('stocks', filter_id=current_filter['_id']))
Exemple #3
0
def stocks_add_filter_option(filter_id):
    if request.method == 'POST':
        name = request.form.get('filter_name')
        key = request.form.get('filter_option_key')
        morethan = request.form.get('filter_option_morethan')
        morethan = True if morethan == 'morethan' else False
        try:
            value = float(request.form.get('filter_option_value', 0))
        except:
            value = 0
        selected = [
            filter_option for filter_option in db.available_filter_options
            if filter_option.key == key
        ][0]
        new_filter_option = db.FilterOption(key, selected.title, morethan,
                                            value, selected.is_boolean)

        current_filter = db.filter_by_id(filter_id)
        options = current_filter.get('options', [])
        filter_option_dict = new_filter_option._asdict()
        filter_option_dict['_id'] = ObjectId()
        options.append(filter_option_dict)
        current_filter['options'] = options
        current_filter['name'] = name
        db.save_filter(current_filter)

        return redirect(url_for('stocks', filter_id=current_filter['_id']))
Exemple #4
0
def stocks_remove_rank_option(filter_id):
    rank_option_key = request.args.get('key', None)
    if not rank_option_key:
        return redirect(url_for('stocks', filter_id=filter_id))
    current_filter = db.filter_by_id(filter_id)
    options = current_filter.get('options', [])
    options = [o for o in options if o['key'] != rank_option_key]
    current_filter['options'] = options
    db.save_filter(current_filter)

    return redirect(
        url_for('stocks', filter_id=filter_id, status='rank', alt='alt1'))
Exemple #5
0
def stocks_add_rank_option(filter_id):
    rank_option_key = request.args.get('key', None)
    if not rank_option_key:
        return redirect(url_for('stocks', filter_id=filter_id))
    options = [
        r for r in db.available_rank_options if r.key == rank_option_key
    ]
    if options:
        rank_option_to_add = options[0]
        current_filter = db.filter_by_id(filter_id)
        options = current_filter.get('options', [])
        options.append(rank_option_to_add._asdict())
        db.save_filter(current_filter)

        return redirect(
            url_for('stocks', filter_id=filter_id, status='rank', alt='alt1'))
Exemple #6
0
def stocks_new_filter():
    filters = db.all_filters()
    name = '새필터' + str(len(filters) + 1)
    filter_id = db.save_filter({
        'name': name,
        'options': [],
    })
    return redirect(url_for('stocks', filter_id=filter_id))