Package spade :: Module Envelope
[hide private]
[frames] | no frames]

Source Code for Module spade.Envelope

  1  import types 
  2  import AID 
  3  
 
4 -class Envelope:
5 """ 6 FIPA envelope 7 """
8 - def __init__(self,to=None,_from=None,comments=None,aclRepresentation=None,payloadLength=None,payloadEncoding=None,date=None,encrypted=None,intendedReceiver=None,received=None,transportBehaviour=None,userDefinedProperties=None):
9 10 self.to = list() 11 if to != None: 12 for i in to: 13 if isinstance(i,AID.aid): 14 self.to.append(i) #aid 15 self._from = None 16 if _from != None and isinstance(_from,AID.aid): 17 self._from = _from #aid 18 19 if comments != None: 20 self.comments= comments #str 21 else: 22 self.comments = None 23 if aclRepresentation != None: 24 self.aclRepresentation = aclRepresentation #str 25 else: 26 self.aclRepresentation = None 27 if payloadLength != None: 28 self.payloadLength = payloadLength #int 29 else: 30 self.payloadLength = None 31 if payloadEncoding != None: 32 self.payloadEncoding = payloadEncoding #str 33 else: 34 self.payloadEncoding = None 35 if date != None: 36 self.date = date #list(datetime) 37 else: 38 self.date = None 39 if encrypted != None: 40 self.encrypted = encrypted #list(str) 41 else: 42 self.encrypted = list() 43 if intendedReceiver != None: 44 self.intendedReceiver = intendedReceiver #list(aid) 45 else: 46 self.intendedReceiver = list() 47 if received != None: 48 self.received = received #list(ReceivedObject) 49 else: 50 self.received = None 51 if transportBehaviour != None: 52 self.transportBehaviour = transportBehaviour #list(?) 53 else: 54 self.transportBehaviour = list() 55 if userDefinedProperties != None: 56 self.userDefinedProperties = userDefinedProperties #list(properties) 57 else: 58 self.userDefinedProperties = list()
59 60
61 - def getTo(self):
62 return self.to
63
64 - def addTo(self,to):
65 self.to.append(to) 66 self.addIntendedReceiver(to)
67
68 - def getFrom(self):
69 return self._from
70
71 - def setFrom(self,_from):
72 self._from = _from
73
74 - def getComments(self):
75 return self.comments
76
77 - def setComments(self,comments):
78 self.comments = comments
79
80 - def getAclRepresentation(self):
81 return self.aclRepresentation
82
83 - def setAclRepresentation(self,acl):
84 self.aclRepresentation = acl
85
86 - def getPayloadLength(self):
87 return self.payloadLength
88
89 - def setPayloadLength(self,pl):
90 self.payloadLength = pl
91
92 - def getPayloadEncoding(self):
93 return self.payloadEncoding
94
95 - def setPayloadEncoding(self,pe):
96 self.payloadEncoding = pe
97
98 - def getDate(self):
99 return self.date
100
101 - def setDate(self,date):
102 self.date = date
103
104 - def getEncryted(self):
105 return self.encrypted
106
107 - def setEncryted(self,encrypted):
108 self.encrypted = encrypted
109
110 - def getIntendedReceiver(self):
111 return self.intendedReceiver
112
113 - def addIntendedReceiver(self,intended):
114 if not intended in self.intendedReceiver: 115 self.intendedReceiver.append(intended)
116
117 - def getReceived(self):
118 return self.received
119
120 - def setReceived(self,received):
121 self.received = received
122
123 - def __str__(self):
124 """ 125 returns a printable version of the envelope in XML 126 """ 127 r = '<?xml version="1.0"?>' +"\n" 128 r=r+"\t\t<envelope> \n" 129 r=r+'\t\t\t<params index="1">'+"\n" 130 r=r+"\t\t\t\t<to>\n" 131 for aid in self.to: 132 r=r+"\t\t\t\t\t<agent-identifier> \n" 133 r=r+"\t\t\t\t\t\t<name>" + aid.getName() + "</name> \n" 134 r=r+"\t\t\t\t\t\t<addresses>\n" 135 for addr in aid.getAddresses(): 136 r=r+ "\t\t\t\t\t\t\t<url>" + addr + "</url>\n" 137 r=r+"\t\t\t\t\t\t</addresses> \n" 138 r=r+"\t\t\t\t\t</agent-identifier>\n" 139 r=r+"\t\t\t\t</to> \n" 140 if self._from: 141 r=r+"\t\t\t\t<from> \n" 142 r=r+"\t\t\t\t\t<agent-identifier> \n" 143 r=r+"\t\t\t\t\t\t<name>" + self._from.getName() + "</name> \n" 144 r=r+"\t\t\t\t\t\t<addresses>\n" 145 for addr in self._from.getAddresses(): 146 r=r+ "\t\t\t\t\t\t\t<url>" + addr + "</url>\n" 147 r=r+"\t\t\t\t\t\t</addresses> \n" 148 r=r+"\t\t\t\t\t</agent-identifier> \n" 149 r=r+"\t\t\t\t</from>\n" 150 if self.aclRepresentation: 151 r=r+ "\t\t\t\t<acl-representation>"+ self.aclRepresentation + "</acl-representation>\n" 152 if self.payloadLength: 153 r=r+ "\t\t\t\t<payload-length>"+self.payloadLength+"</payload-length>\n" 154 if self.payloadEncoding: 155 r=r+ "\t\t\t\t<payload-encoding>"+self.payloadEncoding+"</payload-encoding>\n" 156 if self.date: 157 r=r+ "\t\t\t\t<date>"+str(self.date)+"</date>\n" 158 if self.intendedReceiver: 159 r=r+ "\t\t\t\t<intended-receiver>\n" 160 for aid in self.intendedReceiver: 161 r=r+"\t\t\t\t\t<agent-identifier> \n" 162 r=r+"\t\t\t\t\t\t<name>" + aid.getName() + "</name> \n" 163 r=r+"\t\t\t\t\t\t<addresses>\n" 164 for addr in aid.getAddresses(): 165 r=r+ "\t\t\t\t\t\t\t<url>" + addr + "</url>\n" 166 r=r+"\t\t\t\t\t\t</addresses> \n" 167 r=r+"\t\t\t\t\t</agent-identifier>\n" 168 r=r+"\t\t\t\t</intended-receiver> \n" 169 if self.received: 170 r=r+ "\t\t\t\t<received>\n" 171 if self.received.getBy(): 172 r=r+ '\t\t\t\t\t<received-by value="'+self.received.getBy() +'"/>\n' 173 if self.received.getDate(): 174 r=r+ '\t\t\t\t\t<received-date value="'+ str(self.received.getDate()) +'"/>\n' 175 if self.received.getId(): 176 r=r+ '\t\t\t\t\t<received-id value="' + self.received.getId() +'"/>\n' 177 r=r+ "\t\t\t\t</received>\n" 178 179 r=r+"\t\t\t</params> \n" 180 r=r+"\t\t</envelope>\n" 181 182 return r
183