Example #1
0
def AllSymbols():
    db = DbConnection.getInstance()

    available_symbols = db.get_full_symbols()
    json_strings = {}
    json_other = {}
    for symbol in available_symbols:
        symbol_info = {
            "symbol": symbol,
            "width": "100%",
            "height": "100%",
            "colorTheme": "dark",
            "isTransparent": False,
            "locale": "en"
        }

        tech_info = {
            "interval": "1D",
            "width": "100%",
            "colorTheme": "dark",
            "isTransparent": False,
            "height": 450,
            "symbol": symbol,
            "showIntervalTabs": "true",
            "locale": "en"
        }
        json_strings[symbol] = json.dumps(symbol_info)
        json_other[symbol] = json.dumps(tech_info)
    return render_template('info/all_symbols.html',
                           available_symbols=available_symbols,
                           symbol_info=json_strings,
                           tech_info=json_other)
Example #2
0
def EditStrategies():
    db = DbConnection.getInstance()
    user = g.user
    if user is not None:
        user.strategies = db.get_user_strategies(user)
        all_strategies = db.get_strategies()
        all_symbols = db.get_symbols()

        if request.method == "POST":
            action = request.form['button']
            print(action)
            if action == 'Delete':
                print(request.form)
                db.delete_user_strategy(request.form['strat_id'])
                flash("Deleted Successfully")
                user.strategies = db.get_user_strategies(user)

            elif action == 'Update':
                db.update_user_strategy(request.form['strat_id'], request.form)
                flash("Update Success")
                user.strategies = db.get_user_strategies(user)

        return render_template('edit_strategies.html',
                               strategies=user.strategies,
                               available_strategies=all_strategies,
                               available_symbols=all_symbols)
    else:
        return render_template('index.html')
Example #3
0
def AddStrategy():
    db = DbConnection.getInstance()
    user = g.user
    print(request)
    if user is not None:
        user.strategies = db.get_user_strategies(user)
        all_strategies = db.get_strategies()
        all_symbols = db.get_symbols()

        if request.method == 'GET':
            return render_template('edit_strategies.html',
                                   strategies=user.strategies,
                                   available_strategies=all_strategies,
                                   available_symbols=all_symbols)

        elif request.method == 'POST':
            if not user.check_strategy_exists(request.form):
                flash('Success!')
                db.add_strategy(request.form, user)
                user.strategies = db.get_user_strategies(user)
                return render_template('edit_strategies.html',
                                       strategies=user.strategies,
                                       available_strategies=all_strategies,
                                       available_symbols=all_symbols)
            else:
                flash("Already Added That")
                return render_template('edit_strategies.html',
                                       strategies=user.strategies,
                                       available_strategies=all_strategies,
                                       available_symbols=all_symbols)
Example #4
0
def login():
    if request.method == 'POST':
        email = request.form['email']
        password = request.form['password']
        db = DbConnection.getInstance()
        error = None
        user = db.get_user_by_email(email)
        user['password'] = password
        user = User(user)
        if user is None:
            error = 'Incorrect email.'
        elif not user.login(password):
            error = 'Incorrect password.'
        print(error)
        if error is None:
            print("Successful login!!")
            session.clear()
            session['user_id'] = user.id
            g.user = user
            user_info = db.get_user_strategies(user)
            if user_info is not None:
                return render_template('user_strategies.html',
                                       strategies=user_info)
            else:
                return render_template('edit_strategies.html')

        flash(error)

    return render_template('auth/login.html')
Example #5
0
    def __init__(self):
        print("Initializing Checker")
        if self.is_weekday():
            db = DbConnection.getInstance()
            all_poss = db.get_all_user_strategies()
            self.strategies = db.get_strategies()

            today = datetime.combine(date.today(), datetime.min.time())
            week_before = datetime.combine(
                date.today() + relativedelta(weeks=-1), datetime.min.time())
            month_before = datetime.combine(
                date.today() + relativedelta(months=-1), datetime.min.time())

            need_checked = []
            for user_strat in all_poss:
                if user_strat['interim'] == 'daily':
                    need_checked.append(user_strat)
                elif user_strat['interim'] == 'weekly':
                    if user_strat['last_check'] >= week_before:
                        need_checked.append(user_strat)
                elif user_strat['interim'] == 'monthly':
                    if user_strat['last_check'] >= month_before:
                        need_checked.append(user_strat)
            print("Num checks needed ", len(need_checked))
            self.check_me = need_checked
        else:
            print('Its the Weekend! No trading today!')
            self.strategies = []
            self.check_me = []
Example #6
0
def load_logged_in_user():
    user_id = session.get('user_id')
    print(user_id)
    if user_id is None:
        g.user = None
    else:
        g.user = User(DbConnection.getInstance().get_user_by_id(user_id))
        print(g.user.username)
Example #7
0
def MailRequest():
    if 'user_id' not in session:
        return 'fail'
    user_id = session['user_id']
    db = DbConnection.getInstance()
    user = db.get_user_by_id(user_id)
    msg = Message('Hello',
                  sender='*****@*****.**',
                  recipients=user['email'])
    msg.body = "Hello Flask message sent from Flask-Mail"
    mail.send(msg)
    return "Sent"
Example #8
0
def ViewStrategies():
    user = g.user
    if user is not None:
        strategies = DbConnection.getInstance().get_user_strategies(user)
        if strategies is not None:
            return render_template('user_strategies.html',
                                   strategies=strategies)
        else:
            flash('Please add some strategies in order to view them')
            return render_template('edit_strategies.html')
    else:
        flash('Please login to view strategies')
        return render_template('auth/login.html')
Example #9
0
def register():
    db = DbConnection.getInstance()
    if request.method == 'POST':
        user = User(request.form)

        if db.check_existing_user(user) != None:
            error = 'Email {} is already registered.'.format(user.email)
            flash(error)
            return render_template('auth/register.html')

        if user.error is None:
            user_id = db.insert_new_user(user)
            session.clear()
            session['user_id'] = user_id
            return render_template('edit_strategies.html')

    available_symbols = db.get_symbols()
    available_strategies = db.get_strategies()
    return render_template('auth/register.html',
                           available_strategies=available_strategies,
                           available_symbols=available_symbols)
Example #10
0
def AllStrategies():
    db = DbConnection.getInstance()
    available_symbols = db.get_full_symbols()
    return render_template('info/all_strategies.html',
                           available_symbols=available_symbols)