Example #1
0
    def delete_message(self, environ, start_response):
        if self.username is None:
            headers = [('Content-type', 'text/html')]
            start_response("302 Found", headers)
            return ["You must be logged in to use this feature <p><a href='/login'>Log in</a><p><a href='/m/list'>Show messages</a>"]

        form = cgi.FieldStorage(fp=environ['wsgi.input'], environ=environ)

        msgid = int(form['id'].value)
		
        msg = meeplib.get_message(msgid)

        messages = meeplib.get_all_messages()

        if msg.parent == -1:
	        for child in messages:
		        if child.parent == msgid:
			        child.parent = -1
        else:
			for child in messages:
				if child.parent == msgid:
					child.parent = msg.parent
		
        meeplib.delete_message(msg)

        with con:
            cur.execute("DELETE FROM Messages WHERE ID = ?", (msgid,))
        con.commit()
        #meeplib.save()
        
        headers = [('Content-type', 'text/html')]
        headers.append(('Location', '/m/list'))
        start_response("302 Found", headers)
        return ["message deleted"]
Example #2
0
    def del_message(self, environ, start_response):
        #print environ['wsgi.input']
        form = cgi.FieldStorage(fp=environ['wsgi.input'], environ=environ)

        #print form
        
        messages = meeplib.get_all_messages()

        s = "Yup"
        found = False
        for m in messages:
            if m.id == int(form['id'].value):
                if meeplib.get_curr_user() != m.author.username:
                    s= "Nope"
                    break
                if m.pID != "!":
                    meeplib.delete_reply(m)
                meeplib.delete_message(m)
                found = True
            if found == True:
                break
        
        start_response("200 OK", [('Content-type', 'text/html')])
        #s.append("<p><p><a href = '/m/list'>Return to Messages</a>")

        SaveMessages()

        return render_page('del_message.html', s = s)
Example #3
0
    def test_delete(self):
        u = meeplib.User('foo', 'bar')
        m = meeplib.Message('my title', 'This is my message!', u)

        assert m in meeplib._messages.values()
        meeplib.delete_message(m)

        assert m not in meeplib._messages.values()
Example #4
0
def delete_message(id):
    try:
        id2 = meeplib.get_message(id)
    except:
        return rpc_settings.delete_message_failure

    meeplib.delete_message(id2)
    return rpc_settings.delete_message_success
Example #5
0
   def test_delete(self):
      u = meeplib.User('foo', 'bar')
      m = meeplib.Message('my title', 'This is my message!', u)

      assert m in meeplib._messages.values()
      meeplib.delete_message(m)

      assert m not in meeplib._messages.values()
Example #6
0
def delete_message(id):
    try:
        id2 = meeplib.get_message(id);
    except:
        return rpc_settings.delete_message_failure

    meeplib.delete_message(id2)
    return rpc_settings.delete_message_success
Example #7
0
    def alter_message_action(self, environ, start_response):
        post = (environ.get('REQUEST_METHOD') == 'POST')
        if post:
            form = cgi.FieldStorage(fp=environ['wsgi.input'], environ=environ)
        else:
            form = parse_qs(environ['QUERY_STRING'])
        """
        try:
            form = cgi.FieldStorage(fp=environ['wsgi.input'], environ=environ)
            #params = dict([part.split('=') for part in environ['QUERY_STRING'].split('&')])
            #msgId = int(params['id'])
        except:
            headers = [('Content-type', 'text/html')]
            start_response("200 OK", headers)
            return ["Error Processing provided ID"]

        id = int(form['id'].value)
        
        action = form['bttnSubmit'].value
        """

        print 'post %s' % (post,)
        id = int(self.get_value(form,post,'id',''))
        action = self.get_value(form,post,'bttnSubmit','')
        msg = meeplib.get_message(id)
        
        error = False
        errorMsg = ""
        response = "200 OK"
        
        headers = [('Content-type', 'text/html')]
        u = self.getUser(environ)
        if u == None:
            error = True
            errorMsg = """You must be logged in to proceed."""
        if msg == None:
            error = True
            errorMsg = """Message id: %d could not be found.""" % (id,)
        elif action == "Delete":
            if msg.author.username == u.username:
                meeplib.delete_message(msg)
                response = "302 Found"
                headers.append(('Location', '/'))
                errorMsg = "message removed"
            else:
                errorMsg = "You cannot delete another user's post."
        elif action == "Reply":
            title = ""
            message = form['replyText'].value
            user = meeplib.get_user(u.username)
            new_message = meeplib.Message(title, message, user, True)
            msg.add_reply(new_message)
            response = "302 Found"
            headers.append(('Location', '/'))
            errorMsg = "message replied"

        start_response(response, headers)
        return [errorMsg]
Example #8
0
    def alter_message_action(self, environ, start_response):
        post = (environ.get('REQUEST_METHOD') == 'POST')
        if post:
            form = cgi.FieldStorage(fp=environ['wsgi.input'], environ=environ)
        else:
            form = parse_qs(environ['QUERY_STRING'])
        """
        try:
            form = cgi.FieldStorage(fp=environ['wsgi.input'], environ=environ)
            #params = dict([part.split('=') for part in environ['QUERY_STRING'].split('&')])
            #msgId = int(params['id'])
        except:
            headers = [('Content-type', 'text/html')]
            start_response("200 OK", headers)
            return ["Error Processing provided ID"]

        id = int(form['id'].value)
        
        action = form['bttnSubmit'].value
        """

        print 'post %s' % (post, )
        id = int(self.get_value(form, post, 'id', ''))
        action = self.get_value(form, post, 'bttnSubmit', '')
        msg = meeplib.get_message(id)

        error = False
        errorMsg = ""
        response = "200 OK"

        headers = [('Content-type', 'text/html')]
        u = self.getUser(environ)
        if u == None:
            error = True
            errorMsg = """You must be logged in to proceed."""
        if msg == None:
            error = True
            errorMsg = """Message id: %d could not be found.""" % (id, )
        elif action == "Delete":
            if msg.author.username == u.username:
                meeplib.delete_message(msg)
                response = "302 Found"
                headers.append(('Location', '/'))
                errorMsg = "message removed"
            else:
                errorMsg = "You cannot delete another user's post."
        elif action == "Reply":
            title = ""
            message = form['replyText'].value
            user = meeplib.get_user(u.username)
            new_message = meeplib.Message(title, message, user, True)
            msg.add_reply(new_message)
            response = "302 Found"
            headers.append(('Location', '/'))
            errorMsg = "message replied"

        start_response(response, headers)
        return [errorMsg]
Example #9
0
    def tearDown(self):
        m = meeplib.get_message(self.msgId)
        if m != None:
            meeplib.delete_message(m)

        l = len(meeplib.get_all_users())
        meeplib.delete_user(meeplib.get_user(self.ux))
        lafter = len(meeplib.get_all_users())

        assert l > lafter
Example #10
0
 def remove_message(self, environ, start_response):
     print environ['wsgi.input']
     form = cgi.FieldStorage(fp=environ['wsgi.input'], environ=environ)
     messageID = form['messageID'].value
     message = meeplib.get_message(int(messageID))
     meeplib.delete_message(message)
     headers = [('Content-type', 'text/html')]
     headers.append(('Location', '/m/list'))
     start_response("302 Found", headers)
     return ["message removed"]
Example #11
0
    def delete_message_action(self, environ, start_response):
        queryParams = cgi.parse_qs(environ['QUERY_STRING'])
        ID = queryParams['id'][0]
        ID = int(ID)
        meeplib.delete_message(meeplib.get_message(ID))

        headers = [('Content-type', 'text/html')]
        headers.append(('Location', '/m/list'))
        start_response("302 Found", headers)
        return ["message deleted"]
Example #12
0
    def tearDown(self):
        m = meeplib.get_all_messages()[0]
        meeplib.delete_message(m)

        u = meeplib.get_all_users()[0]
        meeplib.delete_user(u)

        assert len(meeplib._messages) == 0
        assert len(meeplib._users) == 0
        assert len(meeplib._user_ids) == 0
Example #13
0
 def delete_message_action(self, environ, start_response):
      queryParams = cgi.parse_qs(environ['QUERY_STRING'])
      ID = queryParams['id'][0]
      ID = int(ID)
      meeplib.delete_message(meeplib.get_message(ID))
      
      headers = [('Content-type', 'text/html')]
      headers.append(('Location', '/m/list'))
      start_response("302 Found", headers)
      return ["message deleted"]
Example #14
0
    def tearDown(self):
        m = meeplib.get_all_messages()[0]
        meeplib.delete_message(m)

        u = meeplib.get_all_users()[0]
        meeplib.delete_user(u)

        assert len(meeplib._messages) == 0
        assert len(meeplib._users) == 0
        assert len(meeplib._user_ids) == 0
Example #15
0
    def test_recursive_delete(self):
        u = meeplib.User('foo', 'bar')
        m = meeplib.Message('the title', 'the content', u ,'!')
        n = meeplib.Message('the reply title', 'the reply', u, m.id)
        o = meeplib.Message('the second tier title', 'the second reply', u, n.id)
        
        meeplib.delete_message(m)

        assert n not in meeplib._messages.values()
        assert o not in meeplib._messages.values()
Example #16
0
 def remove_message(self, environ, start_response):
     print environ['wsgi.input']
     form = cgi.FieldStorage(fp=environ['wsgi.input'], environ=environ)
     messageID = form['messageID'].value
     message = meeplib.get_message(int(messageID))
     meeplib.delete_message(message)
     headers = [('Content-type', 'text/html')]
     headers.append(('Location', '/m/list'))
     start_response("302 Found", headers)
     return ["message removed"]
Example #17
0
    def test_recursive_delete(self):
        u = meeplib.User('foo', 'bar')
        m = meeplib.Message('the title', 'the content', u, '!')
        n = meeplib.Message('the reply title', 'the reply', u, m.id)
        o = meeplib.Message('the second tier title', 'the second reply', u,
                            n.id)

        meeplib.delete_message(m)

        assert n not in meeplib._messages.values()
        assert o not in meeplib._messages.values()
Example #18
0
    def test_delete_user(self):
        #check that there is 1 user
        assert len(meeplib.get_all_users()) == 1
        assert len(meeplib._user_ids) == 1
        for msg in meeplib._messages.values():
            meeplib.delete_message(msg)
        meeplib.delete_user(meeplib.get_user('foo'))

        #check that there are no users
        assert len(meeplib.get_all_users()) == 0
        assert len(meeplib._user_ids) == 0
Example #19
0
    def tearDown(self):
        m = meeplib.get_message(self.msgId)
        if m != None:
            meeplib.delete_message(m)
            

        l = len(meeplib.get_all_users())
        meeplib.delete_user(meeplib.get_user(self.ux))
        lafter = len(meeplib.get_all_users())
        
        assert l > lafter
Example #20
0
    def test_delete_user(self):
        #check that there is 1 user
        assert len(meeplib.get_all_users()) == 1
        assert len(meeplib._user_ids) == 1
        for msg in meeplib._messages.values():
            meeplib.delete_message(msg)
        meeplib.delete_user(meeplib.get_user('foo'))
        

        #check that there are no users
        assert len(meeplib.get_all_users()) == 0
        assert len(meeplib._user_ids) == 0
Example #21
0
    def setUp(self):

        x = meeplib.get_all_messages()
        print "Messages",x
        for message in x:
            meeplib.delete_message(message)
            
        x = meeplib.get_all_messages()
        print "Messages",x
        u = meeplib.User('foo', 'bar',-1)
        v = meeplib.User('foo2', 'bar2',-1)
        m = meeplib.Message('the title', 'the content', u,-1)
Example #22
0
    def delete_message_action(self, environ, start_response):
        print "deleteaction"
        print environ['wsgi.input']
        form = cgi.FieldStorage(fp=environ['wsgi.input'], environ=environ)
        message = int(form['id'].value)
        messages = meeplib.get_all_messages()
        #  meeplib.delete_message(messages[0])
        meeplib.delete_message(messages[message])
        headers = [('Content-type', 'text/html')]
        headers.append(('Location', '/m/list'))
        start_response("302 Found", headers)

        return ["message deleted"]
Example #23
0
    def delete_message_action(self, environ, start_response):
        print "deleteaction"
        print environ['wsgi.input']
        form = cgi.FieldStorage(fp=environ['wsgi.input'], environ=environ)
        message=int(form['id'].value)
        messages = meeplib.get_all_messages()
      #  meeplib.delete_message(messages[0])
        meeplib.delete_message(messages[message])
        headers = [('Content-type', 'text/html')]
        headers.append(('Location', '/m/list'))
        start_response("302 Found", headers)

        return ["message deleted"]
Example #24
0
    def delete_message_action(self, environ, start_response):
        print environ['wsgi.input']
        form = cgi.FieldStorage(fp=environ['wsgi.input'], environ=environ)

        id = int(form['id'].value)
        print id, ' A'
        meeplib.delete_message(meeplib.get_message(id))
        meeplib.delete_reply(id)
        meeplib.saveMSG()
        meeplib.saveREPLY()
        headers = [('Content-type', 'text/html')]
        headers.append(('Location', '/'))
        start_response("302 Found", headers)
        return ["message deleted"]
Example #25
0
    def delete_message(self, environ, start_response):

        form = cgi.FieldStorage(fp=environ['wsgi.input'], environ=environ)
        id = form['id'].value
        mes = meeplib.get_all_messages()
        for m in mes:
            if (m.id == int(id)):
                meeplib.delete_message(m)

        headers = [('Content-type', 'text/html')]
        headers.append(('Location', '/m/list'))
        start_response("302 OK", headers)
        #print id
        return ["message deleted"]
Example #26
0
    def delete_message_action(self, environ, start_response):
        print environ['wsgi.input']
        form = cgi.FieldStorage(fp=environ['wsgi.input'], environ=environ)

        id = int(form['id'].value)
        print id, ' A';
        meeplib.delete_message(meeplib.get_message(id))
        meeplib.delete_reply(id)
        meeplib.saveMSG()
        meeplib.saveREPLY()
        headers = [('Content-type', 'text/html')]
        headers.append(('Location', '/'))
        start_response("302 Found", headers)
        return ["message deleted"]
Example #27
0
 def test_tearDown(self):
     print "test teardown"
     users = meeplib.get_all_users()
     for user in users:
         meeplib.delete_user(user)
         print meeplib._user_ids
     messages = meeplib.get_all_messages()
     for m in messages:
         meeplib.delete_message(m)
     print len(meeplib._user_ids)
     assert len(meeplib._messages) == 0
     assert len(meeplib._users) == 0
     assert len(meeplib._user_ids) == 0
     meeplib._reset()
Example #28
0
    def delete_message(self,environ,start_response):
    
    	form = cgi.FieldStorage(fp=environ['wsgi.input'], environ=environ)
        id= form['id'].value   
        mes = meeplib.get_all_messages()
     	for m in mes:
				if(m.id == int(id)):
					meeplib.delete_message(m)

        headers = [('Content-type', 'text/html')]
        headers.append(('Location', '/m/list'))
        start_response("302 OK", headers)
        #print id
        return ["message deleted"]
Example #29
0
 def test_tearDown(self):
     print "test teardown"
     users = meeplib.get_all_users()
     for user in users:
         meeplib.delete_user(user)
         print meeplib._user_ids
     messages = meeplib.get_all_messages()
     for m in messages:
         meeplib.delete_message(m)
     print len(meeplib._user_ids)
     assert len(meeplib._messages) == 0
     assert len(meeplib._users) == 0
     assert len(meeplib._user_ids) == 0
     meeplib._reset()
Example #30
0
    def delete_message_action(self, environ, start_response):
        print environ['wsgi.input']
        form = cgi.FieldStorage(fp=environ['wsgi.input'], environ=environ)

        id_num = form['id_num'].value
        #print "form"
        #print (id,)
        id_number = int(id_num)
        
        meeplib.delete_message(meeplib.get_message(id_number))

        headers = [('Content-type', 'text/html')]
        headers.append(('Location', '/m/list'))
        start_response("302 Found", headers)
        return ["message deleted"]
Example #31
0
    def delete_message(self, environ, start_response):
        qString = cgi.parse_qs(environ['QUERY_STRING'])
        mId = qString.get('id', [''])[0]
        messageID = meeplib.get_message(int(mId))
        mId= int(mId)
        meeplib.delete_message(messageID)
        with con:
            cur.execute("DELETE FROM messages WHERE id = (?)", (mId))

        con.commit()
     
        headers = [('Content-type', 'text/html')]
        headers.append(('Location', '/m/list'))
        start_response("302 Found", headers)
        
        return ["message deleted"]
Example #32
0
    def delete_message_action(self, environ, start_response):
        form = cgi.FieldStorage(fp=environ['wsgi.input'], environ=environ)

        #Get the message
        messageId = form['mid'].value
        message = meeplib.get_message(int(messageId))
        
        #Delete the message from the topic
        topicId = form['tid'].value
        topic = meeplib.get_topic(int(topicId))
        topic.delete_message_from_topic(message)
        
        #Delete the message altogether
        meeplib.delete_message(message)
        
        headers = [('Content-type', 'text/html')]
        headers.append(('Location', '/m/list_topics'))
        start_response("302 Found", headers)
        return ["message deleted"]
Example #33
0
    def delete_message(self, environ, start_response):
        if self.username is None:
            headers = [('Content-type', 'text/html')]
            start_response("302 Found", headers)
            return [
                "You must be logged in to use this feature <p><a href='/login'>Log in</a><p><a href='/m/list'>Show messages</a>"
            ]

        form = cgi.FieldStorage(fp=environ['wsgi.input'], environ=environ)

        msgid = int(form['id'].value)

        msg = meeplib.get_message(msgid)

        messages = meeplib.get_all_messages()

        if msg.parent == -1:
            for child in messages:
                if child.parent == msgid:
                    child.parent = -1
        else:
            for child in messages:
                if child.parent == msgid:
                    child.parent = msg.parent

        meeplib.delete_message(msg)

        with con:
            cur.execute("DELETE FROM Messages WHERE ID = ?", (msgid, ))
        con.commit()
        #meeplib.save()

        headers = [('Content-type', 'text/html')]
        headers.append(('Location', '/m/list'))
        start_response("302 Found", headers)
        return ["message deleted"]
Example #34
0
    def test_delete_message(self):
        msg = meeplib.get_message(self.msgId)
        meeplib.delete_message(msg)

        print(meeplib.get_message(self.msgId), )
        assert meeplib.get_message(self.msgId) == None
Example #35
0
 def test_delete_message(self):
     temp = meeplib.get_all_messages()
     msg = meeplib.get_all_messages()[0]
     meeplib.delete_message(msg)
     
     assert len(meeplib.get_all_messages()) < len(temp)
Example #36
0
 def test_delete_message(self):
     msg = meeplib.get_message(self.msgId)
     meeplib.delete_message(msg)
     
     print (meeplib.get_message(self.msgId),)
     assert meeplib.get_message(self.msgId) == None