Ejemplo n.º 1
0
def index():
    users.check_login()
    all_songs = music.get_all_songs()  # So that I don't make 2 dB requests
    return render_template('index.html',
                           all_songs=all_songs,
                           duration=f"{music.get_playlist_duration()}M",
                           number=len(all_songs))
Ejemplo n.º 2
0
    def test_check_login(self):
        """Test check_login for good and bad passwords"""

        for password, nick, avatar in self.users:
            # try the correct password
            self.assertTrue(users.check_login(self.db, nick, password),
                            "Password check failed for nick %s" % nick)

            # and now incorrect
            self.assertFalse(users.check_login(self.db, nick, "badpassword"),
                             "Bad Password check failed for nick %s" % nick)
Ejemplo n.º 3
0
    def test_check_login(self):

        for password, nick, avatar in self.users:
            # try the correct password
            self.assertTrue(users.check_login(self.db, nick, password), "Password check failed for user %s" % nick)

            # and now incorrect
            self.assertFalse(users.check_login(self.db, nick, "badpassword"), "Bad Password check failed for user %s" % nick)

        # check for an unknown email
        self.assertFalse(users.check_login(self.db, "whoisthis", "badpassword"), "Bad Password check failed for unknown user")
Ejemplo n.º 4
0
    def test_check_login(self):

        for password, nick, avatar in self.users:
            # try the correct password
            self.assertTrue(users.check_login(self.db, nick, password), "Password check failed for nick %s" % nick)

            # and now incorrect
            self.assertFalse(users.check_login(self.db, nick, "badpassword"), "Bad Password check failed for nick %s" % nick)

        # check for an unknown email
        self.assertFalse(users.check_login(self.db, "unknownperson", "badpassword"), "Bad Password check failed for unknown user")
Ejemplo n.º 5
0
    def test_check_login(self):

        for email, password, nick, avatar in self.users:
            # try the correct password
            self.assertTrue(users.check_login(self.db, email, password), "Password check failed for email %s" % email)

            # and now incorrect
            self.assertFalse(
                users.check_login(self.db, email, "badpassword"), "Bad Password check failed for email %s" % email
            )

        # check for an unknown email
        self.assertFalse(
            users.check_login(self.db, "*****@*****.**", "badpassword"), "Bad Password check failed for unknown email"
        )
Ejemplo n.º 6
0
def add():
    users.check_login()
    if request.form:
        music.add_song_and_detect_service(str(request.form['url']),
                                          session['logged_in']['user'])
        return render_template('add.html',
                               error=False,
                               success=True,
                               successtext="Musica adicionada com sucesso",
                               user_songs=music.get_user_songs(
                                   session['logged_in']['user']))
    return render_template('add.html',
                           error=False,
                           success=False,
                           user_songs=music.get_user_songs(
                               session['logged_in']['user']))
Ejemplo n.º 7
0
def login():
    """Display this page if any invalid user identification"""
    db = COMP249Db()
    list = interface.post_list(db, usernick=None, limit=50)
    content = ""
    http = ""
    str = ""

    # display previous posts
    for item in list:
        content = interface.post_to_html(item[3])
        http = interface.post_to_html(content)
        dt = datetime.datetime.strptime(item[1],"%Y-%m-%d %H:%M:%S")
        dt_string = dt.strftime("%b %d, %Y %I:%M%p").upper()
        str = str + "<div class='entry'><a href='/users/" + item[2] + "'><div class='item'><img src='" + item[4] + "'> <p>" + item[2].upper() + "</p></div></a><div class='date'><p>" + dt_string + "</p></div>" + http + "<hr></div>" # contents display

    # if there are something within the login field...
    if 'nick' in request.forms:
        username = request.forms['nick'] # get username from the 'nick' field
        password = request.forms['password'] # get password from the 'password' field
        str2 = "<p style='color:red;font-size:small;'>Invaild username or password</p>"
        loginString = "<h3>member login</h3></br><form id='loginform' method='POST' action ='/login'><input type='text' name='nick' placeholder='username' class='focus' onKeyPress='return submitenter(this,event)'><input type='password' name='password' placeholder='password' class='focus' onKeyPress='return submitenter(this,event)'></form>"
        if not check_login(db, username, password):
            return template('base.tpl', base=str, validate=str2, login=loginString) # display 'Failed' if invaild user identification
        generate_session(db, username) # generate the user session
        response.set_header('Location', '/')
        response.status = 303
        return "Redirect to /" # redirect to /
Ejemplo n.º 8
0
def route(db):
    """handles login of users,
    form data is proccessed (taken from the login form), from here data is checked to see if user is valid, if so
    a session is generated for the user and then the user is redirected to the index page otherwise they are
    redirected to a page where they must enter their credentials again, the user is kept on this page until correct
    credentials are entered at which point they are redirected to the index page logged in,

    A cookie is assigned to each valid user once they login through the function users.generate_session()
    in order to track whether they are logged in or not
    """
    info = {
        'title': 'Login Error, please try to login again or create an account'
    }

    name = request.forms.get("name")
    password = request.forms.get("password")
    log = users.check_login(db, name, password)

    if (log):  # if user is valid
        users.generate_session(db, name)
        return {'result': 'true'}
    else:
        return {
            'result': 'false',
            'bannerMessage': banner_messages['LoginFail']
        }
Ejemplo n.º 9
0
    def test_check_login_unknown(self):
        """Test login for an unknown user id"""

        # check for an unknown user
        self.assertFalse(
            users.check_login(self.db, "unknownperson", "badpassword"),
            "Bad Password check failed for unknown user")
Ejemplo n.º 10
0
def test_login(db):
    nickname = request.forms.get('nick')
    password = request.forms.get('password')
    if users.check_login(db, nickname, password):
        users.generate_session(db, nickname)
        redirect('/')
    else:
        return template('error_login.html')
Ejemplo n.º 11
0
def login():
    if request.method == "GET":
        return render_template("login.html")
    if request.method == "POST":
        username = request.form["username"]
        password = request.form["password"]
        check_ok, msg = users.check_login(username, password)
        if check_ok:
            return redirect("/")
        return render_template("login.html", error=msg)
Ejemplo n.º 12
0
def check_login(db):
    """Checking the Username and Password against the user's database
    Generate a session for the user and display index.html, else create a session and redirect to /"""
    user = request.forms.nick
    password = request.forms.password
    if users.check_login(db, user, password) is True:
        users.generate_session(db, user)
        redirect('/')
    else:
        return template("login_error")
Ejemplo n.º 13
0
Archivo: app.py Proyecto: xymostech/til
def login():
    if request.method == 'POST':
        if users.check_login(request.form['username'], request.form['password']):
            do_login(request.form['username'])
            return redirect(url_for('main'))
        else:
            return render_template("login.html",
                                   login_error="Invalid username or password")
    else:
        return render_template("login.html")
Ejemplo n.º 14
0
def login(db):
    username = request.forms.get('nick')
    password = request.forms.get('password')
    if users.check_login(db, username, password):
        users.generate_session(db, username)
        message = str("Logged in as " + username)
        redirect('/')
        return message
    else:
        return template('failedlogin')
Ejemplo n.º 15
0
def login():

    usern = request.forms.get('nick')
    passw = request.forms.get('password')

    if users.check_login(COMP249Db(), usern, passw) is True:
        users.delete_session(COMP249Db(), usern)
        session = users.generate_session(COMP249Db(), usern)
        return redirect('/')
    return index(False)
Ejemplo n.º 16
0
Archivo: app.py Proyecto: xymostech/til
def login():
    if request.method == 'POST':
        if users.check_login(request.form['username'],
                             request.form['password']):
            do_login(request.form['username'])
            return redirect(url_for('main'))
        else:
            return render_template("login.html",
                                   login_error="Invalid username or password")
    else:
        return render_template("login.html")
Ejemplo n.º 17
0
def flowtow_app(environ, start_response):
    headers = [('content-type', 'text/html')]

    # about page
    if environ['PATH_INFO'] == '/about':
        start_response("200 OK", headers)
        return page_about(environ)
    # action comment
    elif environ['PATH_INFO'] == '/comment':
        action_comment(environ)
        headers.append(('location', '/'))
        start_response("303 See Other", headers)
        return page_index(environ)
    # action upload
    elif environ['PATH_INFO'] == '/upload':
        action_upload(environ)
        start_response("200 OK", headers)
        return page_my_images(environ, start_response)
    # action login
    elif environ['PATH_INFO'] == '/login':
        form = cgi.FieldStorage(environ=environ, fp=environ['wsgi.input'])
        if 'email' in form and 'password' in form:
            useremail = form.getvalue('email')
            can_login = check_login(db, useremail, form.getvalue('password'))
            if can_login:
                cookie = generate_session(db, useremail)
                headers.append(('Set-Cookie', cookie[COOKIE_NAME].OutputString()))
                headers.append(('location', '/'))
                start_response("303 See Other", headers)
                return page_index(environ)
        headers.append(('location', '/?login_failed'))
        start_response("303 See Other", headers)
        return page_index(environ)
    # action logout
    elif environ['PATH_INFO'] == '/logout':
        logged_user = user_from_cookie(db, environ)
        if logged_user:
            delete_session(db, logged_user)
        headers.append(('location', '/'))
        start_response("303 See Other", headers)
        return page_index(environ)
    # my images
    elif environ['PATH_INFO'] == '/my_images':
        start_response("200 OK", headers)
        return page_my_images(environ, start_response)
    # index page
    elif environ['PATH_INFO'] == '/':
        start_response("200 OK", headers)
        return page_index(environ)
    # 404
    else:
        return page_404(start_response)
Ejemplo n.º 18
0
def loginform():
    """"""
    db = COMP249Db()
    nick = request.forms.get('nick')
    password = request.forms.get('password')
    session_user = users.session_user(db)
    if users.check_login(db, nick, password) == True:
        users.generate_session(db, nick)
        return redirect('/', code=302)
    else:
        info = {'title': "Failed Login"}

        return template('failed', info, session_user=session_user)
Ejemplo n.º 19
0
def login():
    db = COMP249Db()

    usernick = request.forms.get('nick')
    password = request.forms.get('password')

    if users.check_login(db, usernick, password):
        users.generate_session(db, usernick)
        response.set_header('Location', '/')
        response.status = 303
        return 'Redirect to /'
    else:
        response.status = 200
        return index(True)
Ejemplo n.º 20
0
def login():
    db = COMP249Db()

    usernick = request.forms.get('nick')
    password = request.forms.get('password')

    if users.check_login(db, usernick, password):
        users.generate_session(db, usernick)
        response.set_header('Location', '/')
        response.status = 303
        return 'Redirect to /'
    else:
        response.status = 200
        return index(True)
Ejemplo n.º 21
0
def login(db):
    # Method to handle login action of form.
    # Field values are validated for null values by html required property.
    #First checking if the login is succes for the provided username and password combination. If success, then create
    # a session  and redirect it to the index page.
    # If username - password combination is invalid, then redirect the request to fail.html

    username = request.forms.get('nick')
    password = request.forms.get('password')
    login_check = users.check_login(db,username,password)
    if login_check:
        users.generate_session(db,username) #calling generate_session method from users module
        return redirect("/")
    else:
        return template("fail" , title = "Login Failed")
Ejemplo n.º 22
0
def login():
    """Post request for Login; Retrieves user inputted details from
    the login form. Upon successful login, a cookie is set and
    the user is redirected to the homepage.
    If login fails, user is presented with the failed login display."""
    db = COMP249Db()
    in_user = request.forms['nick']
    in_password = request.forms['password']
    if users.check_login(db, in_user, in_password):
        curr_session = users.generate_session(db, in_user)
        if curr_session:
            response.set_cookie(COOKIE_NAME, curr_session)
        redirect('/')
    else:
        return template('loginfail.html', title="Login Error", session=None, name=None)
Ejemplo n.º 23
0
def login():
    """ Attempts to login with provided form data.
    If valid set cookie and redirect to homepage.
    If invalid redirect to homepage with login failed message.
    :return: Home page
    """
    username = request.forms.get("nick")
    password = request.forms.get("password")
    if users.valid_user(db, username) & users.check_login(
            db, username, password):
        code = 302
        users.generate_session(db, username)
        return redirect('/', code)
    else:
        dic = {"loginFailed": "Login Failed, please try again"}
        return index(dic)
Ejemplo n.º 24
0
def login_req(db):
    """Authenticate user. If it is a valid user redirect to customized home page else redirect to mainpage"""

    #get post parameter
    username = request.forms.get("nick")
    password = request.forms.get("password")

    #check if user is valid if yes append username to greeting message else indicate login error message
    if (users.check_login(db, username, password)):
        users.generate_session(db, username)
        info['message'] = 'Logged in as ' + str(username)
        redirect('/')
    else:
        data = interface.position_list(db, 10)
        info['rows'] = data
        info['message'] = 'Login Failed, please try again'
        return template("index", info)
Ejemplo n.º 25
0
def login():
    """Post request for Login; Retrieves user inputted details from
    the login form. Upon successful login, a cookie is set and
    the user is redirected to the homepage.
    If login fails, user is presented with the failed login display."""
    db = COMP249Db()
    in_user = request.forms['nick']
    in_password = request.forms['password']
    if users.check_login(db, in_user, in_password):
        curr_session = users.generate_session(db, in_user)
        if curr_session:
            response.set_cookie(COOKIE_NAME, curr_session)
        redirect('/')
    else:
        return template('loginfail.html',
                        title="Login Error",
                        session=None,
                        name=None)
Ejemplo n.º 26
0
def login(environ, start_response):
    success = False
    headers = [("content-type", "text/html")]
    formdata = cgi.FieldStorage(environ=environ, fp=environ["wsgi.input"])
    if "password" in formdata:
        email = formdata.getvalue("email", "")
        password = formdata.getvalue("password", "")
        success = users.check_login(db, email, password)
    # login is successful, creates a cookie
    if success:
        cookie = users.generate_session(db, email)
        headers.append(("Set-Cookie", cookie["sessionid"].OutputString()))
        headers.append(("Location", "/"))
        start_response("303 See Other", headers)
        return [redirect_page.encode()]
    else:
        content = "Login problem"
        mapping = {"title": "Login", "content": content, "navbar": get_navbar(environ)}
    start_response("200 OK", headers)
    return render("login.html", mapping)
Ejemplo n.º 27
0
def login():
    """
    处理登录
    :return:
    """
    userNick = request.POST.get('nick')
    password = request.POST.get('password')
    flowTowDataBase = COMP249Db()
    if users.check_login(db=flowTowDataBase,
                         usernick=userNick,
                         password=password):
        if users.generate_session(db=flowTowDataBase, usernick=userNick):
            return redirect('/')
    renderDict = {
        "title": "Login Failed!",
        "homeActive": False,
        "aboutActive": True,
        "userNick": None
    }
    return template("loginFailed", renderDict)
Ejemplo n.º 28
0
def do_login(db):
    nick = request.forms.get('nick')
    password = request.forms.get('password')
    if check_login(db, nick, password):
        generate_session(db, nick)
        redirect("/")
    else:
        form_data = '''
            <form action="/login" method="post" id="loginform">
                Nick: <input name="nick" type="text" />
                Password: <input name="password" type="password" />
                <input value="Login" type="submit" />
            </form>
        '''
        info = {
            'title': 'Home',
            'position_list': [],
            'form_data': form_data,
            'fail': 'Login Failed, please try again <hr>'
        }

        return template('index', info)
Ejemplo n.º 29
0
def login():
    """
    As a Registered user i am able to insert my username and password to log into PSST!
    When a user logs in, check if the username and password is valid
    If so then add there session, and set cookie value
    If not then display an page saying failed login
    """
    db = PsstDb()
    username = request.forms.get('nick')
    password = request.forms.get('password')
    if users.check_login(db, username, password) == True:
        users.generate_session(db, username)
        redirect('/')
    else:
        info = {
            'login': has_visited(),
            'searchVal': "",
            'usernamed': users.session_user(db),
            'title': "Welcome to Psst",
            'content': 'Login Failed, Please try again. Error',
            'posts': []
        }
        return template('index', info)
Ejemplo n.º 30
0
def login():
    """Display this page if any invalid user identification"""
    db = COMP249Db()
    list = interface.post_list(db, usernick=None, limit=50)
    private = "#private" # string that makes the post private
    content = ""
    http = ""
    str = "<h2><b>Welcome to Psst.</b> Latest pssts:</h2>" # title
    str = str + "<table>"

    # display previous posts
    for item in list:
        content = interface.post_to_html(item[3])
        http = interface.post_to_html(content)

        # not display the posts with the '#private' tag
        if(bool(private.lower() in http.lower())==False): # only display the messages without '#private'
            str = str + "<tr>"
            str = str + "<td valign='top'><img src='" + item[4] + "' width='45'></td>" # user avatar
            str = str + "<td valign='bottom'><a href='/users/" + item[2] + "'>@" + item[2] + ": </a>" + http + " - <i>posted on " + item[
                    1] + "</i></br></br></td></tr>" # username and contents
            users(item[2]) # generate /users/username page by users() function
            mentions(item[2]) # generate /mentions/username page by mentions function
    str = str + "</table>"

    # if there are something within the login field...
    if 'nick' in request.forms:
        username = request.forms['nick'] # get username from the 'nick' field
        password = request.forms['password'] # get password from the 'password' field
        str2 = "<p style='color:red'>Failed.</p>"
        loginString = "<form id='loginform' method='POST' action ='/login'><input type='text' name='nick' placeholder='username' class='focus' onKeyPress='return submitenter(this,event)'><input type='password' name='password' placeholder='password' class='focus' onKeyPress='return submitenter(this,event)'></form>"
        if not check_login(db, username, password):
            return template('base.tpl', base=str, validate=str2, login=loginString) # display 'Failed' if invaild user identification
        generate_session(db, username) # generate the user session
        response.set_header('Location', '/')
        response.status = 303
        return "Redirect to /" # redirect to /
Ejemplo n.º 31
0
def logged_in():
	if not 'sessionId' in request.values:
		return "ERROR: submit a sessionId"
	sessionId = request.values['sessionId']
	return users.check_login(sessionId)
Ejemplo n.º 32
0
def about():
    users.check_login()
    return render_template('info.html')
Ejemplo n.º 33
0
def delete(name):
    users.check_login()
    music.remove_song(name, session['logged_in']['user'])
    return redirect(url_for('add'))