Skip to content
Snippets Groups Projects
deletelink.py 1.2 KiB
Newer Older
  • Learn to ignore specific revisions
  • Jonas Leder's avatar
    Jonas Leder committed
    from sqlite3 import connect
    
    from flask import redirect, abort
    
    def deleteLink(request, s):
        try:
            userID = s.loads(request.cookies.get('userID')) #get the userid from the cookie
            loginbar = "Hello " + s.loads(request.cookies.get('username')) + ' (<a href="/user/logout" style="color:white">logout</a>)' # generate the login form
            loginbar = loginbar + "" #to hide the unused variable message
        except:
    
    Jonas Leder's avatar
    Jonas Leder committed
            abort(404) #if the user is not logged in, hide this page and return not found
    
        linkToDelete = request.args.get('link') #get the link, which the user want's to delete from the parameter in the url.
    
    
    Jonas Leder's avatar
    Jonas Leder committed
        with connect('db/urls.db') as conn:
    
            cursor = conn.cursor()
            try:
    
    Jonas Leder's avatar
    Jonas Leder committed
                cursor.execute('DELETE FROM WEB_URL WHERE SHORT_URL=? AND USERNAME=?', [linkToDelete, userID]) #Delete the mapping
                cursor.execute('DELETE FROM ANALYTICS WHERE SHORT_URL=?', [linkToDelete]) #Delete the statistics
    
                return "OK" #response is only for ajax request
    
    Jonas Leder's avatar
    Jonas Leder committed
                abort(500) #return internal server error, if something fails
    
                
    if (__name__ == "__main__"):
        print("This file is not made fore direct call, please run the main.py")
        exit()