From d8368edb6148c1ed25ebff589b6e49cb92b923bb Mon Sep 17 00:00:00 2001 From: Jorge Heleno Date: Sat, 6 May 2017 16:43:13 +0100 Subject: [PATCH] Adds support for topics and policies --- server/httpserver/server.py | 3 ++- server/location.py | 6 +++--- server/message.py | 12 ++++++++++-- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/server/httpserver/server.py b/server/httpserver/server.py index 208ba49..fe5a743 100755 --- a/server/httpserver/server.py +++ b/server/httpserver/server.py @@ -147,7 +147,8 @@ def get(self): global locations for l in locations: if self.get_argument("location")==l.getName(): - l.postMessage(author,self.get_argument("message"),self.get_argument("title"),self.get_argument("deliveryMode"),self.get_argument("topics"),self.get_argument("endTime")) + l.postMessage(author,self.get_argument("message"),self.get_argument("title"),self.get_argument("deliveryMode"),self.get_argument("topics"),self.get_argument("endTime"),\ + self.get_argument("policyType")) self.write(json.dumps({'type': 'postMessage','response': 'success'}\ ,indent=4,separators=(',', ': '))) return; diff --git a/server/location.py b/server/location.py index f483e0d..8b66237 100644 --- a/server/location.py +++ b/server/location.py @@ -49,10 +49,10 @@ def unpostMessage(self,author,fullId): def getName(self): return self.name - def postMessage(self,author,content,title,deliveryMode,topics,endTime): + def postMessage(self,author,content,title,deliveryMode,topics,endTime,policyType): mId=self.messageIds self.messages[mId]=message(user=author,location=self,title=title,deliveryMode=deliveryMode,topics=topics\ - ,endTime=datetime.datetime.now()+datetime.timedelta(seconds=int(endTime)),content=content,id=mId) + ,endTime=datetime.datetime.now()+datetime.timedelta(seconds=int(endTime)),content=content,id=mId,policy=policyType) self.messageIds+=1 return mId @@ -61,7 +61,7 @@ def getMessage(self,messageId): def getJson(self): finalJson={'bssids':self.bssids,\ - 'ssids':self.ssids,'latitude':self.latitude,'longitude':self.longitude,'radius':self.radius} + 'ssids':self.ssids,'latitude':self.latitude,'longitude':self.longitude,'radius':self.radius,'name':self.name} return finalJson def __cmp__(self,location): diff --git a/server/message.py b/server/message.py index 6d6608e..1025274 100644 --- a/server/message.py +++ b/server/message.py @@ -3,7 +3,7 @@ class message: - def __init__(self,user,location,title,deliveryMode,topics,endTime,content="",id=0): + def __init__(self,user,location,title,deliveryMode,topics,endTime,content="",id=0,policy="White"): self.author=user self.location=location self.content=content @@ -13,6 +13,7 @@ def __init__(self,user,location,title,deliveryMode,topics,endTime,content="",id= self.topics=topics self.endTime=endTime self.expired=False + self.policy=policy def getId(self): if self.isExpired(): @@ -44,6 +45,13 @@ def getTopics(self): raise ExpiredMessageError else: return self.topics + + def getPolicy(self): + if self.isExpired(): + raise ExpiredMessageError + else: + return self.policy + def isExpired(self): if self.expired: return True @@ -73,4 +81,4 @@ def getLocation(self): def __str__(self): return " Id: "+str(self.id)+"Author: "+self.author.getUsername()+" Title: "+self.title+ "Content: "+self.content+ "Location: "+self.location.getName() def getJson(self): - return {"Id":str(self.id),"Author":self.author.getUsername(),"Title":self.title,"Content":self.content,"Location":self.location.getName()} + return {"Id":str(self.id),"Author":self.author.getUsername(),"Title":self.title,"Content":self.content,"Location":self.location.getName(),"policyType":self.policy,"topics":self.topics}