Ejemplo n.º 1
0
def run(url, environ, start_response):
    #start_response(b'200 OK', [(b'Content-Type', b'text/html')])

    import cgi
    
    header_set = False
    
    msg   = "<div class='readable'>"
    fname = ""
        
    form = cgi.FieldStorage(fp=environ['wsgi.input'], environ=environ, keep_blank_values=True)
    
    try:
        exists = False
        lg = form['logname'].file.read().translate(str.maketrans({"'":  r"''"}))
        pw = form['passwrd'].file.read().translate(str.maketrans({"'":  r"''"}))
        
        #msg += str(lg) + "<br>"
        #msg += str(pw) + "<br>"
        
        cu = myu.get_conn().cursor()
        
        cu.execute("SELECT id FROM usersdata WHERE name = '" + (lg) + "'")
        #cu.execute("SELECT * FROM usersdata WHERE id > 20")
        
        try:
            for ln in cu:
                exists = True
                break
        except Exception as inst:
            msg += "Error?<br>"
        
        #msg += lg + "<br>"
        #msg += pw + "<br>"
        
        if exists:
            msg += "Sorry, such user already exists. *weeps in corner*"
        else:
            cu.execute("INSERT INTO usersdata (name, pass_word) VALUES ('" + (lg) + "','" + (pw) + "')")
            cu.commit()
            
            header_set = myu.usr_login(lg, pw, start_response)
            msg += myu.gen_logmsg(header_set, lg)
        
    except Exception as inst:
        #msg += "<br>ERROR-1: " + str(inst)
        msg += "Error occured. A doggo died!" + "<br>ERROR-1: " + str(inst)
        
    msg += "</div>"
    #msg += "<div><a href='pages/login.html'><button>&#8592; Back</button></a></div>"
    try:
        msg  = myu.get_insides("assets/header.html") + msg
        msg += myu.get_insides("assets/bottom.html")
    except Exception as inst:
        msg += "<br>ERROR-2: " + str(inst)
        
    if not header_set:
        start_response(b'200 OK', [(b'Content-Type', b'text/html')])
        
    return msg
Ejemplo n.º 2
0
def run(url, env, start_response):
    myu.cooker(start_response, 'id', '12', 1 / 24.0)

    result = ""
    result += myu.get_insides("assets/header.html")
    result += myu.get_insides("assets/bottom.html")

    return result
Ejemplo n.º 3
0
def run(url, env, start_response):
    start_response(b'200 OK', [(b'Content-Type', b'text/html')])
    
    result  = ""
    result += myu.get_insides("assets/header.html")
    result += "<form action='/answer.py'  method='post' enctype='multipart/form-data'>"
    result += "<div class='readable'>"
    
    try:
        conn = myu.get_conn()
        cu1  = conn.cursor()
        
        cu1.execute("SELECT TOP 1 * FROM questions_answers ORDER BY NEWID()")

        for row in cu1:
            quid    = myu.get_sqlval(row, 0)
            result += myu.get_sqlval(row, 1) + "<br><hr/>"
            #result += myu.get_sqlval(row, 4) + "<br>"
            
            catid = myu.get_sqlval(row, 2)
            truid = myu.get_sqlval(row, 3)
            #result += myu.get_sqlval(str(row), 3) + "<br>"
            #result += "<hr/>" + str(row) + "<br>"
        
            all_ans = []
            cu_answ = myu.get_conn().cursor()
            cu_anst = myu.get_conn().cursor()
            cu_answ.execute("SELECT TOP 3 * FROM answers WHERE id_category = " + catid + " AND NOT id = " + truid + " ORDER BY NEWID()")
            cu_anst.execute("SELECT * FROM answers WHERE id = " + truid)
            
            for row_ans in cu_anst:
                all_ans.append({"txt": myu.get_sqlval(row_ans, 1), "id": myu.get_sqlval(row_ans, 0)})
                
            for row_ans in cu_answ:
                all_ans.append({"txt": myu.get_sqlval(row_ans, 1), "id": myu.get_sqlval(row_ans, 0)})
                
            random.shuffle(all_ans)
            for ans in all_ans:
                result += "<input type='radio' id='" + str(ans["id"]) + "' name='ans_id' value='" + str(ans["id"]) + "'>"
                result += "<label for='" + str(ans["id"]) + "'>" + str(ans["txt"]) + "</label><br>"
                #result += "<br>" + str(ans["txt"])
                
            result += "<br>"
            result += "<input style='display: none;' id='answer' type='text' value='"+quid+"' name='que_id'>"
                
    except Exception as inst:
        result += "<br>ERROR-1: " + str(inst)
    
    result += "</div>"
    result += "<div class='centered'>"
    result += "<input id='answer' type='submit' value='Answer' name='submit'>"
    result += "</div>"
    result += "</form>"
    result += myu.get_insides("assets/bottom.html")
    
    return result
Ejemplo n.º 4
0
def run(url, environ, start_response):
    start_response(b'200 OK', [(b'Content-Type', b'text/html')])

    import cgi

    msg = "<div class='readable'>"
    fname = ""

    #form = cgi.FieldStorage(fp=environ['wsgi.input'], environ=environ, keep_blank_values=True)
    form = myu.get_form(environ)

    catid = ""
    try:
        fname = load(form)

        if fname != "":
            catid = myu.get_posttxt(form, "catid")

            resp = azurimg(fname)
            tbl = gen_tbl(resp)

            if not "Sorry" in tbl:
                msg += gen_shame(resp, catid)

            msg += tbl
            #os.remove(fname)

    except Exception as inst:
        #msg += "<br>ERROR-1: " + str(inst)
        msg += "Error occured. Please try loading the file again!" + "<br>ERROR-1: " + str(
            inst)

    msg += "</div>"

    if catid == "":
        msg += "<div><a href='pages/upload_image.html'><button>&#8592; Back</button></a></div>"
    else:
        msg += "<div><a href='pages/task.html'><button>&#8592; Back</button></a></div>"

    try:
        msg = myu.get_insides("assets/header.html") + msg
        msg += myu.get_insides("assets/bottom.html")
    except Exception as inst:
        msg += "<br>ERROR-2: " + str(inst)

    return msg
Ejemplo n.º 5
0
def run(url, environ, start_response):
    start_response(b'200 OK', [(b'Content-Type', b'text/html')])

    result = ""
    result += myu.get_insides("assets/header.html")
    result += "<div class = 'readable'>"

    form = myu.get_form(environ)
    result += myu.get_posttxt(form, "catid")
    #result += myu.get_posttxt(environ, "blahblah")
    result += myu.get_posttxt(form, "tst1")
    result += myu.get_posttxt(form, "tst2")

    result += "</div>"
    result += myu.get_insides("assets/bottom.html")

    return result
Ejemplo n.º 6
0
def run(url, env, start_response):
    start_response(b'200 OK', [(b'Content-Type', b'text/html')])

    uid = myu.get_cookie(env, 'id')
    psw = myu.get_cookie(env, 'passwd')

    cu = myu.get_conn().cursor()
    cu.execute("SELECT name,e,series FROM usersdata WHERE id = '" + (uid) +
               "' AND pass_word = '" + (psw) + "'")

    msg = myu.get_insides("assets/header.html")
    msg += "<div class='readable'>"

    if cu.rowcount != 0:
        row = cu.fetchone()
        nm = myu.get_sqlval(row, 0)
        sc = myu.get_sqlval(row, 1)
        st = myu.get_sqlval(row, 2)

        msg += "<b>You are: </b>" + nm + "<br>"
        msg += "<b>Score: </b>" + sc + "<br>"
        msg += "<b>Strike: </b>" + st + "<br>"

        cu.execute("SELECT COUNT(id) FROM usersdata WHERE e > " + sc)
        plc = 0
        if cu.rowcount != 0:
            cnt = cu.fetchone()
            plc = int(myu.get_sqlval(cnt, 0))

        msg += "<b>Your place: </b>" + str(plc + 1) + "<br>"

    try:
        cu.execute(
            "SELECT TOP 10 name,e,series FROM usersdata ORDER BY e DESC")

        msg += "<br>"
        msg += "<table>"
        msg += "<tr class='header'>"
        msg += "<th class='header'>Name</th>"
        msg += "<th class='header'>Score</th>"
        msg += "<th class='header'>Strike</th>"
        msg += "</tr>"
        for row in cu:
            msg += "<tr>"

            msg += "<th>"
            msg += myu.get_sqlval(row, 0)
            msg += "</th>"

            msg += "<th>"
            msg += myu.get_sqlval(row, 1)
            msg += "</th>"

            msg += "<th>"
            msg += myu.get_sqlval(row, 2)
            msg += "</th>"

            msg += "</tr>"

        msg += "</table>"
    except Exception as inst:
        msg += "<br>ERROR: " + str(inst)

    msg += "</div>"
    msg += myu.get_insides("assets/bottom.html")

    return msg