def get_widget_page(appname, burl, nonavbar, funcname, refresh_in_second,
                    noflexheight, terminal):
    """ xxx """
    return_data = ''
    navbarcontent = ''
    metarefresh = ''
    if nonavbar is None:
        navbarcontent = navbar(burl, 0, terminal)
    if refresh_in_second is not None:
        metarefresh = '<meta http-equiv="refresh" content="' + str(
            refresh_in_second) + '">'

    return_data = get_head(get_loading_head() +\
                           get_googleanalytics() +\
                           get_title(appname) +\
                           metarefresh +\
                           get_metatags(burl) +\
                           redirect_if_not_logged_in(burl, '') +\
                           set_ogp(burl, 1, '', '') +\
                           get_bootstrap(get_sa_theme(), burl) +\
                           get_font_awesome() +\
                           get_stylesheet(burl))

    return_data = return_data + get_body(get_loading_body(), navbarcontent +\
                                         get_widget_content(burl,
                                                            nonavbar,
                                                            funcname,
                                                            noflexheight),'')
    return_data = set_page(return_data)
    return return_data
def get_resetpassword_page(appname, burl, step, data, data2, terminal):
    """ xxx """
    return_data = ''
    page_content = ''
    if step == str(2):
        page_content = validate_email_input(burl, data)
    elif step == str(3):
        page_content = change_password_form(burl, data)
    elif step == str(4):
        page_content = set_new_password(burl, data, data2)
    else:
        page_content = get_resetpassword_email_input(burl)

    return_data = get_head(get_loading_head() +\
                           get_googleanalytics() +\
                           get_title(appname) +\
                           get_metatags(burl) +\
                           set_ogp(burl, 1, '', '') +\
                           get_bootstrap(get_sa_theme(), burl) +\
                           get_font_awesome() +\
                           get_stylesheet(burl))
    return_data = return_data + get_body(get_loading_body(),
                                         navbar(burl, 0, terminal) +\
                                         page_content +\
                                         get_page_footer(burl, False),'')
    return_data = set_page(return_data)
    return return_data
def user_login(usr, pwd, burl, redirect):
    """ xxx """
    content = ''
    redirect_url = burl
    date_today = datetime.datetime.now()
    dstr = date_today.strftime("%Y%m%d")
    pwd = get_hash_string(pwd)

    connection = pymysql.connect(host=DB_SRV,
                                 user=DB_USR,
                                 password=DB_PWD,
                                 db=DB_NAME,
                                 charset='utf8mb4',
                                 cursorclass=pymysql.cursors.DictCursor)

    cursor = connection.cursor(pymysql.cursors.SSCursor)
    usr = usr.lower()
    sql = "SELECT uid FROM users WHERE username ='******' AND password ='******' AND deactivated=0 LIMIT 1"
    cursor.execute(sql)
    res = cursor.fetchall()
    uid = ''
    for row in res:
        uid = row[0]
    sql = 'UPDATE users SET last_logon = '+ dstr +\
    ' WHERE uid ="'+ str(uid) +'"'
    cursor.execute(sql)
    connection.commit()
    cursor.close()
    connection.close()

    if redirect != '':
        redirect_url = redirect
    else:
        redirect_url = burl + '#'

    if uid != '':
        content = set_sa_cookie(uid,
                                set_page(get_head('<meta http-equiv="refresh" content="0;URL=' +\
                                                   redirect_url +\
                                                   '" />') + get_body('', '','')))
    else:
        content = set_page(get_head('<meta http-equiv="refresh" content="0;URL=' +\
                                     burl + 'signin/?err=1&redirect='+\
                                     redirect_url +'" />') + get_body('', '',''))

    return content
Beispiel #4
0
def theme_redirect(burl, terminal):
    """ xxx """
    return_data = ''
    if terminal is None:
        redirect_terminal = ''
    else:
        redirect_terminal = 'terminal'

    return_data = set_page(get_head('<meta http-equiv="refresh" content="0;URL=' +\
                                     burl +'?'+ redirect_terminal +\
                                     '" />') + get_body('', '', ''))
    return return_data
Beispiel #5
0
def gen_portf_page(uid, appname, burl, pop, terminal):
    """ xxx """
    return_data = ''
    if uid is None:
        uid = 0
    if uid == '':
        uid = 0
    connection = pymysql.connect(host=DB_SRV,
                                 user=DB_USR,
                                 password=DB_PWD,
                                 db=DB_NAME,
                                 charset='utf8mb4',
                                 cursorclass=pymysql.cursors.DictCursor)
    cursor = connection.cursor(pymysql.cursors.SSCursor)
    sql = "SELECT instruments.fullname FROM `symbol_list` "+\
    "JOIN instruments ON symbol_list.symbol = instruments.symbol "+\
        "WHERE symbol_list.uid = " + str(uid)

    cursor.execute(sql)
    res = cursor.fetchall()
    instfullname = ''
    for row in res:
        instfullname = row[0]
    cursor.close()
    connection.close()

    if instfullname != '':
        return_data = get_head(get_loading_head() +\
                               get_googleanalytics() +\
                               get_title(appname +' - ' + instfullname) +\
                               get_metatags(burl) +\
                               redirect_if_not_logged_in(burl, '') +\
                               set_ogp(burl, 1, '', '') +\
                               get_bootstrap(get_sa_theme(), burl) +\
                               get_font_awesome() +\
                               get_google_chart_script() +\
                               get_stylesheet(burl))
        return_data = return_data +\
        get_body(get_loading_body(), gen_portf_popup(pop) +\
                 navbar(burl, 0, terminal) +\
                 '<div class="box-top"><div class="row">' +\
                 get_details_header(uid, burl) +\
                 get_portf_alloc(uid, burl) +\
                 get_portf_perf_desc(uid) +\
                 get_portf_risk_trail_returns(uid) +\
                 get_trades_box(uid, burl, None) +\
                 '</div></div>' +\
                 get_page_footer(burl, False),'')
        return_data = set_page(return_data)
    else:
        get_error_page(appname, burl, terminal)
    return return_data
def get_search_result(query, burl, nonavbar):
    """ xxx """
    feed_type_filter_out = 3
    nonavbarparam = '&nonavbar=1'
    if nonavbar is None:
        nonavbarparam = ''

    connection = pymysql.connect(host=DB_SRV,
                                 user=DB_USR,
                                 password=DB_PWD,
                                 db=DB_NAME,
                                 charset='utf8mb4',
                                 cursorclass=pymysql.cursors.DictCursor)
    cursor = connection.cursor(pymysql.cursors.SSCursor)
    sql = "SELECT url FROM feed WHERE (search LIKE '%"+\
    str(query) +"%' or sa_function LIKE '%" + str(query) + "%') "+\
    "and type<>"+ str(feed_type_filter_out)

    cursor.execute(sql)
    res = cursor.fetchall()
    url = ''
    return_data = ''

    for row in res:
        url = row[0].replace('{burl}', burl)
        if url.find(burl) == -1:
            nonavbarparam = ''
        return_data = set_page(get_head('<meta http-equiv="refresh" content="0;URL=' +\
                                         str(url) + nonavbarparam + '" />') + get_body('', '',''))

    if return_data == '':
        return_data = set_page(get_head('<meta http-equiv="refresh" content="0;URL=/?s=0" />') +\
                               get_body('', '',''))

    cursor.close()
    connection.close()
    return return_data
def gen_selectmarket_page(appname, burl, mode, terminal):
    """ xxx """
    return_data = ''
    return_data = get_head(get_loading_head() +\
                           get_googleanalytics() +\
                           get_title(appname) +\
                           get_metatags(burl) +\
                           set_ogp(burl, 1, '', '') +\
                           get_bootstrap(get_sa_theme(), burl) +\
                           get_font_awesome() +\
                           get_stylesheet(burl))
    return_data = return_data + get_body(get_loading_body(), navbar(burl, 0, terminal) +\
                                         get_selectmarket_box(burl, mode),'')
    return_data = set_page(return_data)
    return return_data
def custom_save_portf_page(appname, burl, terminal):
    """ xxx """
    return_data = get_head(get_loading_head() +\
                           get_googleanalytics() +\
                           get_title(appname) +\
                           get_metatags(burl) +\
                           set_ogp(burl, 1, '', '') +\
                           get_bootstrap(get_sa_theme(), burl) +\
                           get_font_awesome() +\
                           get_stylesheet(burl))
    return_data = return_data +\
    get_body(get_loading_body(), navbar(burl, 0, terminal) +\
             get_selectportf_box(burl, '6') +\
             get_box_portf_save(burl),'')
    return_data = set_page(return_data)
    return return_data
def get_signin_page(appname, burl, err, redirect, terminal):
    """ xxx """
    return_data = ''
    return_data = get_head(get_loading_head() +\
                           get_googleanalytics() +\
                           get_title(appname) +\
                           get_metatags(burl) +\
                           set_ogp(burl, 1, '', '') +\
                           get_bootstrap(get_sa_theme(), burl) +\
                           get_font_awesome() +\
                           get_stylesheet(burl))
    return_data = return_data + get_body(get_loading_body(), navbar(burl, 0, terminal) +\
                                         get_signin_content(burl, 'light', err, redirect) +\
                                         get_page_footer(burl, False) +\
                                         get_purechat(1),'')
    return_data = set_page(return_data)
    return return_data
Beispiel #10
0
def gen_main_page(selection,
                  appname,
                  burl,
                  is_dashboard,
                  tour,
                  nonavbar,
                  terminal):
    """ xxx """
    metarefresh = ''
    refresh_in_second = 900
    navbarcontent = ''
    if nonavbar is None:
        navbarcontent = navbar(burl, 0, terminal)
    page_content = ''
    
    if is_dashboard == str(1):
        if user_is_login() == 1:
            page_content = get_dashboard(burl, is_dashboard)
        else:
            page_content = ''
    else:
        page_content = get_page_content(burl, terminal, selection)
        if user_is_login() == 1:
            metarefresh = '<meta http-equiv="refresh" content="'+ str(refresh_in_second) +'">'

        
    return_data = get_head(get_loading_head() +\
                           get_googleanalytics() +\
                           get_googleadsense() +\
                           get_title(appname) +\
                           metarefresh+get_metatags(burl) +\
                           set_ogp(burl, 1, '', '') +\
                           get_bootstrap(get_sa_theme(), burl) +\
                           get_font_awesome() +\
                           get_google_chart_script() +\
                           get_stylesheet(burl))
    return_data = return_data + get_body(get_loading_body(),
                                         navbarcontent +\
                                         gen_tour_popup(tour, burl) +\
                                         get_signin_box(burl) +\
                                         get_box_user_profile_header() +\
                                         page_content + get_page_footer(burl, False) +\
                                         get_purechat(0),'')
    return_data = set_page(return_data)
    return return_data
def get_intel_page(appname, burl, terminal):
    """ Get and build the entire intelligence report page """
    return_data = ''
    return_data = get_head(get_loading_head() +\
                           get_googleanalytics() +\
                           get_title(appname) +\
                           get_metatags(burl) +\
                           redirect_if_not_logged_in(burl, burl +'intelligence') +\
                           set_ogp(burl, 1, '', '') +\
                           get_bootstrap(get_sa_theme(), burl) +\
                           get_font_awesome() +\
                           get_stylesheet(burl))
    return_data = return_data +\
    get_body(get_loading_body(), navbar(burl, 0, terminal) +\
             get_intel_content(burl, terminal),'')

    return_data = set_page(return_data)
    return return_data
def gen_selectportf_page(appname, burl, step, terminal):
    """ xxx """
    return_data = ''
    return_data = get_head(get_loading_head() +\
                           get_googleanalytics() +\
                           get_title(appname) +\
                           get_metatags(burl) +\
                           set_ogp(burl, 1, '', '') +\
                           get_bootstrap(get_sa_theme(), burl) +\
                           get_font_awesome() + get_stylesheet(burl))
    return_data = return_data +\
    get_body(get_loading_body(), navbar(burl, 0, terminal) +\
             get_selectportf_box(burl, step) +\
             get_box_list_instr_n_portf(burl, 'portf_select', 'instr', step, 10000, ''),'')
    return_data = set_page(return_data)
    if step == '1':
        return_data = ini_portf_select(return_data)
    return return_data
Beispiel #13
0
def get_xxx_page(appname, burl, terminal):
    """ Return the content of the entire page """
    return_data = ''
    return_data = get_head(get_loading_head() +\
                           get_googleanalytics() +\
                           get_title(appname) +\
                           get_metatags(burl) +\
                           redirect_if_not_logged_in(burl, '') +\
                           set_ogp(burl, 1, '', '') +\
                           get_bootstrap(get_sa_theme(), burl) +\
                           get_font_awesome() +\
                           get_stylesheet(burl))
    return_data = return_data +\
    get_body(get_loading_body(), navbar(burl, 0, terminal) +\
             get_xxx_content(burl) +\
             get_page_footer(burl, False),'')
    return_data = set_page(return_data)
    return return_data
def get_plan_selection_page(appname, burl, terminal):
    """ xxx """
    return_data = ''
    theme = 'light'
    return_data = get_head(get_loading_head() +\
                           get_googleanalytics() +\
                           get_title(appname) +\
                           get_metatags(burl) +\
                           set_ogp(burl, 1, '', '') +\
                           get_bootstrap(theme, burl) +\
                           get_font_awesome() +\
                           get_stylesheet(burl))
    return_data = return_data +\
    get_body(get_loading_body(), navbar(burl, 0, terminal) +\
             get_box_plan_selection(burl) +\
             get_page_footer(burl, False) +\
             get_purechat(1),'')
    return_data = set_page(return_data)
    return return_data
def save_selectmarket(burl, sel):
    """ xxx """
    return_data = set_page(get_head('<meta http-equiv="refresh" content="0;URL=' +\
                                    burl + 'genportf/?acm='+\
                                    str(sel) +'&step=1&notstart=0" />') + get_body('', '',''))
    user_id = user_get_uid()
    connection = pymysql.connect(host=DB_SRV,
                                 user=DB_USR,
                                 password=DB_PWD,
                                 db=DB_NAME,
                                 charset='utf8mb4',
                                 cursorclass=pymysql.cursors.DictCursor)
    cursor = connection.cursor(pymysql.cursors.SSCursor)
    sql = "UPDATE users SET default_profile='" + str(
        sel) + "' WHERE uid='" + str(user_id) + "'"
    cursor.execute(sql)
    connection.commit()
    cursor.close()
    connection.close()
    return return_data
def get_search_page(appname, burl, nonavbar, terminal):
    """ xxx """
    return_data = ''
    navbarcontent = ''
    if nonavbar is None:
        navbarcontent = navbar(burl, 1, terminal)

    return_data = get_head(get_loading_head() +\
                           get_googleanalytics() +\
                           get_title(appname) +\
                           get_metatags(burl) +\
                           set_ogp(burl, 1, '', '') +\
                           get_bootstrap(get_sa_theme(), burl) +\
                           get_font_awesome() +\
                           get_stylesheet(burl))
    return_data = return_data +\
    get_body(get_loading_body(), navbarcontent +\
             get_search_page_content(burl, nonavbar, terminal) +\
             get_page_footer(burl, False),'')
    return_data = set_page(return_data)
    return return_data
def gen_view_list_instr_n_portf(appname, burl, what, sel, terminal):
    """ xxx """
    #what = 'instr', what = 'portf'
    #sel = market or asset class
    return_data = ''
    if what == 'instr':
        numrow = 10000
    else:
        numrow = 200
    page_title = 'Top Performing Trades of the Week'

    page_desc = 'Access to thousands of financial instruments, '+\
    'stocks, forex, commodities & cryptos. '+\
    'Create your trading signals portfolio powered by Artificial intelligence.'

    return_data = get_head(get_loading_head() +\
                           get_googleanalytics() +\
                           get_googleadsense() +\
                           get_title(appname) +\
                           get_metatags(burl) +\
                           set_ogp(burl, 2, page_title, page_desc) +\
                           get_bootstrap(get_sa_theme(), burl) +\
                           get_font_awesome() + get_stylesheet(burl))
    return_data = return_data + get_body(get_loading_body(),
                                         navbar(burl, 0, terminal) +\
                                         get_top_instr_n_portf_list() +\
                                         get_box_list_instr_n_portf(burl,
                                                                    'view',
                                                                    what,
                                                                    1,
                                                                    numrow,
                                                                    sel) +\
                                         get_page_footer(burl, False) +\
                                         get_purechat(0),
                                         '')
    return_data = set_page(return_data)
    return return_data
Beispiel #18
0
def get_doc_page(appname, burl, uid, terminal):
    """ Return the content of the entire page """
    return_data = ''

    document = doc_data(uid)
    title = document.get_title()
    content = document.get_content()
    category = document.get_category()
    page_url = burl + 'doc/?uid=' + str(uid)

    return_data = get_head(get_loading_head() +\
                           get_googleanalytics() +\
                           get_title(appname) +\
                           get_metatags(burl) +\
                           set_ogp(burl, 2, title, page_url) +\
                           get_bootstrap(get_sa_theme(), burl) +\
                           get_font_awesome() +\
                           get_stylesheet(burl))
    return_data = return_data +\
    get_body(get_loading_body(), navbar(burl, 0, terminal) +\
             get_doc_content(burl, title, content, category, terminal) +\
             get_page_footer(burl, False),'overflow: hidden;')
    return_data = set_page(return_data)
    return return_data
Beispiel #19
0
def gen_createuser_page(uid, appname, burl, name, username, password, from_ip,
                        broker, username_broker, terminal):
    """ xxx """
    return_data = ''
    if uid == '0':
        return_data = get_head(get_loading_head() +\
                               get_googleanalytics() +\
                               get_title(appname) +\
                               get_metatags(burl) +\
                               set_ogp(burl, 1, '', '') +\
                               get_bootstrap(get_sa_theme(), burl) +\
                               get_font_awesome() +\
                               get_stylesheet(burl))
        return_data = return_data +\
        get_body(get_loading_body(), navbar(burl, 0, terminal) +\
                 get_user_creation_form(burl, broker) +\
                 get_page_footer(burl, False),'')
        return_data = set_page(return_data)
    else:
        connection = pymysql.connect(host=DB_SRV,
                                     user=DB_USR,
                                     password=DB_PWD,
                                     db=DB_NAME,
                                     charset='utf8mb4',
                                     cursorclass=pymysql.cursors.DictCursor)
        cursor = connection.cursor(pymysql.cursors.SSCursor)
        sql = "SELECT username FROM users WHERE uid = '"+\
        str(uid) +"' OR username LIKE '"+\
        str(username) +"' "
        cursor.execute(sql)
        res = cursor.fetchall()
        check_exists = ''
        for row in res:
            check_exists = row[0]
        if check_exists == '':
            name = name.lower()
            nickname = set_nickname()
            date_today = datetime.datetime.now()
            date_today = date_today.strftime('%Y%m%d')
            referred_by_code = get_refer_by_code()
            avatar_id = get_random_num(19)
            email_subscription = 'ALL'
            password = get_hash_string(password)
            broker = str(broker)
            username_broker = str(username_broker)
            sql = "INSERT INTO users(uid, name, nickname, username, "+\
            "password, created_on, referred_by_code, avatar_id, "+\
            "from_ip,lang,email_subscription,broker,username_broker) "+\
            "VALUES ('"+\
            str(uid) +"','"+\
            str(name) +"','"+\
            str(nickname) +"','"+\
            str(username) +"','"+\
            str(password) +"',"+\
            str(date_today) +", '"+\
            str(referred_by_code) +"', "+\
            str(avatar_id) +", '"+\
            str(from_ip) + "', '"+\
            str(get_lang())  +"', '"+\
            str(email_subscription) +"','"+\
            str(broker)+"', '"+\
            str(username_broker) +"' )"
            cursor.execute(sql)
            connection.commit()
            return_data = set_sa_cookie(uid,
                                        set_page(
                                            get_head('<meta http-equiv="refresh" content="0;URL=' +\
                                                         burl + 'n/?step=c" />') +\
                                                         get_body('', '','')))
            send_email_notification(broker, name, username)
        else:
            return_data = 'user already exists :P !'
        cursor.close()
        connection.close()
    return return_data
def go():
    """ xxx """
    appname = 'SmartAlpha | Trading Intelligence'
    c = ''
    burl = request.url_root;
    if not DEV_MODE: 
        burl = burl.replace('http://','https://')

    uid = request.args.get('uid')
    ref = request.args.get('ref')
    lang = request.args.get('lang')
    nonavbar = request.values.get('nonavbar')
    terminal = request.args.get('terminal')
    x = request.args.get('x');
    err = request.args.get('err')

    ############################################################################
    if request.endpoint == 's':
        tvws = request.args.get('tvwidgetsymbol')
        c = gen_sign_page(uid, tvws, appname, burl, terminal)
        c = set_sa_lang(lang,c)
        c = set_sa_ref_code(ref,c)

    elif request.endpoint == 'p':
        ins = request.values.get('ins')
        step = request.values.get('step')
        mode = request.values.get('mode')
        pop = request.values.get('pop')
        delete = request.values.get('delete')
        dashboard = request.values.get('dashboard')
        if ins != '' or ins != None:
            if x == '' or x == None : 
                x = get_user_default_profile()
        if ins == '1': 
            c = gen_selectportf_page(appname, burl, step, terminal)
        if ins == '2': 
            c = save_portf_select(burl, step, uid)
        if ins == '3': 
            c = custom_save_portf_page(appname, burl, terminal)
        if ins == '4': 
            c = portf_save_conviction(burl,mode,x)
        if ins == '5': 
            c = portf_save(burl)
        if ins is None: 
            c = gen_portf_page(uid,appname,burl,pop, terminal)
        if delete is not None: 
            c = del_portf(delete,burl,x,dashboard)
        c = set_sa_lang(lang,c)
        c = set_sa_ref_code(ref,c)

    elif request.endpoint == 'ls':
        what = request.values.get('w')
        c = gen_view_list_instr_n_portf(appname, burl, what, x, terminal)

    elif request.endpoint == 'n':
        name = request.values.get('name')
        username = request.values.get('email')
        password = request.values.get('password')
        from_ip = request.values.get('from_ip')
        nickname = request.values.get('nickname')
        step = request.args.get('step')
        broker = request.args.get('broker')
        if broker is None: 
            broker = request.values.get('broker')
        broker_username = request.values.get('username_broker')
        mode = request.values.get('mode')
        if step == 'c': 
            c = gen_selectmarket_page(appname, burl, mode, terminal)
        elif step == 'd': 
            c= save_selectmarket(burl, x)
        else: 
            c = gen_createuser_page(uid,
                                    appname,
                                    burl,
                                    name,
                                    username,
                                    password,
                                    from_ip,broker,
                                    broker_username,
                                    terminal)

    elif request.endpoint == 'join':
        broker = request.args.get('broker')
        #if broker is None: 
            #broker = 'not-specified'
        c = gen_createuser_page('0',appname,burl,'','','','',broker,'', terminal)

    elif request.endpoint == 'h':
        c = get_help_page(appname, burl, terminal)

    elif request.endpoint == 'doc':
        c = get_doc_page(appname, burl, uid, terminal)

    elif request.endpoint == 'financials':
            c = get_financials_page(appname, uid, burl, terminal)

    elif request.endpoint == 'profile':
            c = get_profile_page(appname, uid, burl, terminal)

    elif request.endpoint == 'w':
        funcname = request.values.get('funcname')
        refreshw = request.values.get('refreshw')
        noflexheight = request.values.get('noflexheight')
        c = get_widget_page(appname,
                            burl,
                            nonavbar,
                            funcname,
                            refreshw,
                            noflexheight,
                            terminal)

    elif request.endpoint == 'intelligence':
        c = get_intel_page(appname, burl, terminal)

    elif request.endpoint == 'terminal':
        c = get_sa_terminal_page(appname,burl, terminal)

    elif request.endpoint == 'terminalhelp':
        c = get_sa_terminal_help_page(appname,burl, terminal)

    elif request.endpoint == 'theme':
        switch_to = ''
        if get_sa_theme() == 'dark':
            switch_to = 'light'
        else:
            switch_to = 'dark'
        c = theme_redirect(burl, terminal)
        c = set_sa_theme(switch_to, c )

    elif request.endpoint == 'login':
        user = request.values.get('user')
        password = request.values.get('password')
        redirect_to = request.values.get('redirect')
        c = user_login(user,password, burl, redirect_to)

    elif request.endpoint == 'logout':
        c = user_logout(burl)
        c = set_sa_lang(lang,c)
        c = set_sa_ref_code(ref,c)

    elif request.endpoint == 'signin':
        redirect_to = request.values.get('redirect')
        c = get_signin_page(appname, burl, err, redirect_to, terminal)
        c = set_sa_lang(lang,c)
        c = set_sa_ref_code(ref,c)

    elif request.endpoint == 'pricing':
        c = get_plan_selection_page(appname, burl, terminal)
        c = set_sa_lang(lang,c)
        c = set_sa_ref_code(ref,c)

    elif request.endpoint == 'settings':
        step = request.args.get('step')
        name = request.values.get('name')
        nickname = request.values.get('nickname')
        username = request.values.get('username')
        default_profile = request.values.get('default_profile')
        email_subscription = request.values.get('email_subscription')
        message = save_settings(name,nickname,username,default_profile,email_subscription)
        c = get_settings_page(appname, burl, step, message, terminal)
        c = set_sa_lang(lang,c)
        c = set_sa_ref_code(ref,c)

    elif request.endpoint == 'reset':
        step = request.args.get('step')
        data = request.values.get('data')
        data2 = request.values.get('data2')
        c = get_resetpassword_page(appname,
                                   burl,
                                   step,
                                   data,
                                   data2,
                                   terminal)

    elif request.endpoint == 'search':
        nonavbar = request.args.get('nonavbar')
        c = get_search_page(appname,burl,nonavbar, terminal)
        c = set_sa_lang(lang,c)
        c = set_sa_ref_code(ref,c)

    elif request.endpoint == 'genportf':
        acm = request.args.get('acm')
        step = request.args.get('step')
        notstart = request.args.get('notstart')
        if step == '1': 
            c = gen_portf_user_example(burl,acm,notstart)
        if step == '2': 
            c = gen_portf_validate_content(burl,notstart)
        c = set_sa_lang(lang,c)
        c = set_sa_ref_code(ref,c)

    elif request.endpoint == 'error':
        c = get_error_page(appname, burl, terminal)
        c = set_sa_lang(lang,c)
        c = set_sa_ref_code(ref,c)

    elif request.endpoint == 'url':
        url_q = request.values.get('q')
        c = set_page( get_head('<meta http-equiv="refresh" content="0;URL=' + str(url_q) + '" />') + get_body('','','') )
    else:
        if x == '' or x == None :
            x = get_user_default_profile()
        dashboard = request.args.get('dashboard')
        tour = request.args.get('tour')
        c = gen_main_page(x,appname,burl,dashboard,tour,nonavbar, terminal)
        c = set_sa_lang(lang,c)
        c = set_sa_ref_code(ref,c)
    ############################################################################

    sid = request.args.get('sid')
    if sid is None: sid = ''
    q = request.args.get(sid)
    if len(sid)>5:
        c = get_search_result(q, burl, nonavbar)


    if not DEV_MODE:
        if burl.find('https://app.') == -1:
            if burl.find('https://www.') > -1:
                burl = burl.replace('https://www.','https://app.')
            else:
                burl = burl.replace('https://','https://app.')
            c = set_page( get_head(get_loading_head() + '<script>window.location = "'+ burl +'";</script>' ) + get_body( get_loading_body() , '' , '') )

    return c
def page_not_found(error):
    c = set_page( get_head('<meta http-equiv="refresh" content="0;URL=' + str(request.url_root) + 'error/?" />') + get_body('','','') )
    return c