forked from Mirrors/freeswitch
83 lines
2.5 KiB
Python
83 lines
2.5 KiB
Python
"""
|
|
FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
|
|
Copyright (C) 2005-2014, Anthony Minessale II <anthm@freeswitch.org>
|
|
|
|
Version: MPL 1.1
|
|
|
|
The contents of this file are subject to the Mozilla Public License Version
|
|
1.1 (the "License"); you may not use this file except in compliance with
|
|
the License. You may obtain a copy of the License at
|
|
http://www.mozilla.org/MPL/
|
|
|
|
Software distributed under the License is distributed on an "AS IS" basis,
|
|
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
|
for the specific language governing rights and limitations under the
|
|
License.
|
|
|
|
The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
|
|
|
|
The Initial Developer of the Original Code is
|
|
Anthony Minessale II <anthm@freeswitch.org>
|
|
Portions created by the Initial Developer are Copyright (C)
|
|
the Initial Developer. All Rights Reserved.
|
|
|
|
Contributor(s): Traun Leyden <tleyden@branchcut.com>
|
|
"""
|
|
|
|
"""
|
|
Data models for objects inside freeswitch
|
|
"""
|
|
|
|
import re
|
|
|
|
|
|
class ConfMember:
|
|
|
|
def __init__(self, rawstring):
|
|
self.rawstring = rawstring
|
|
self.member_id = None
|
|
self.member_uri = None
|
|
self.uuid = None
|
|
self.caller_id_name = None
|
|
self.caller_id_number = None
|
|
self.flags = None
|
|
self.volume_in = None
|
|
self.volume_out = None
|
|
self.energy_level = None
|
|
|
|
self.parse(self.rawstring)
|
|
|
|
def parse(self, rawstring):
|
|
"""
|
|
1;sofia/mydomain.com/user@somewhere.com;898e6552-24ab-11dc-9df7-9fccd4095451;FreeSWITCH;0000000000;hear|speak;0;0;300
|
|
"""
|
|
fields = rawstring.split(";")
|
|
self.member_id = fields[0]
|
|
self.member_uri = fields[1]
|
|
self.uuid = fields[2]
|
|
self.caller_id_name = fields[3]
|
|
self.caller_id_number = fields[4]
|
|
self.flags = fields[5]
|
|
self.volume_in = fields[6]
|
|
self.volume_out = fields[7]
|
|
self.energy_level = fields[8]
|
|
|
|
def brief_member_uri(self):
|
|
"""
|
|
if self.member_uri is sofia/mydomain.com/foo@bar.com
|
|
return foo@bar.com
|
|
"""
|
|
if not self.member_uri:
|
|
return None
|
|
|
|
if self.member_uri.find("/") == -1:
|
|
return self.member_uri
|
|
r = self.member_uri.split("/")[-1] # tokenize on "/" and return last item
|
|
return r
|
|
|
|
def __repr__(self):
|
|
return self.__str__()
|
|
|
|
def __str__(self):
|
|
return "%s (%s)" % (self.member_id, self.member_uri)
|