panoramisk.message

class panoramisk.message.Message(headers, content='')[source]

Handle both Responses and Events with the same api:

Responses:

>>> bool(resp.success)
True
>>> resp
<Message Response='Follows' content='Response body'>
>>> print(resp.content)
Response body
>>> for line in resp.iter_lines():
...     print(resp.content)
Response body

Events:

>>> print(event['meetme'])
4242
>>> print(event.meetme)
4242
>>> event.unknown_header
''
getdict(key)[source]

Convert a multi values header to a case-insensitive dict:

>>> resp = Message({
...     'Response': 'Success',
...     'ChanVariable': [
...         'FROM_DID=', 'SIPURI=sip:42@10.10.10.1:4242'],
... })
>>> print(resp.chanvariable)
['FROM_DID=', 'SIPURI=sip:42@10.10.10.1:4242']
>>> value = resp.getdict('chanvariable')
>>> print(value['sipuri'])
sip:42@10.10.10.1:4242
iter_lines()[source]

Iter over response body

parsed_result()[source]

Get parsed result of AGI command

success

return True if a response status is Success or Follows:

>>> resp = Message({'Response': 'Success'})
>>> print(resp.success)
True
>>> resp['Response'] = 'Failed'
>>> resp.success
False