コード例 #1
0
ファイル: cube.py プロジェクト: proplaner/back-end
def add_key(cube, ex_id, key, secret, passphrase):
    app.logger.debug('[%s] Adding keys' % (cube))
    # Add initial transactions to database
    if add_balances(ex_id, key, secret, passphrase, cube):
        try:
            # Encrypt keys and add connection
            conn = Connection(
                user_id=cube.user_id,
                cube_id=cube.id,
                exchange_id=ex_id,
                key=e(key),
                secret=e(secret),
                passphrase=e(passphrase)
                )
            conn.save_to_db()
            app.logger.info('[%s] Added API key for Ex_ID: %s' % (cube, ex_id))
            message = 'API keys added successfully. Exchange connection is live!'
            cube.log_user_action("save_api_keys")
            cube.update_charts = 1
            cube.save_to_db()
            return message
        except Exception as error:
            app.logger.debug('[%s] Trouble adding API key for Ex_ID: %s' % (cube, ex_id))
            app.logger.debug(error)
            remove_balances(ex_id, cube)
            db_session.delete(cube)
            db_session.commit()
            raise
    else:
        remove_balances(ex_id, cube)
        db_session.delete(cube)
        db_session.commit()
        message = 'There was a problem adding your API keys.'
        return message