def __init__(self): self.config = QPanelConfig() section_config = 'freeswitch' if self.is_asterisk(): section_config = 'manager' self.user = self.config.get(section_config, 'user') self.host = self.config.get(section_config, 'host') self.port = int(self.config.get(section_config, 'port')) self.password = self.config.get(section_config, 'password') self.connection = self._connect()
def realname_queue_rename(queuename): renames = QPanelConfig().get_items('rename') if renames is not None: for val, idx in renames: if idx == queuename: return val return queuename
class Backend(object): def __init__(self): self.config = QPanelConfig() section_config = 'freeswitch' if self.is_asterisk(): section_config = 'manager' self.user = self.config.get(section_config, 'user') self.host = self.config.get(section_config, 'host') self.port = int(self.config.get(section_config, 'port')) self.password = self.config.get(section_config, 'password') self.connection = self._connect() def is_freeswitch(self): return self.config.is_freeswitch() def is_asterisk(self): return not self.is_freeswitch() def _connect(self): if self.is_freeswitch(): return self._connect_esl() return self._connect_ami() def _connect_ami(self): manager = AsteriskAMI(self.host, self.port, self.user, self.password) return manager def _connect_esl(self): esl = Freeswitch(self.host, self.port, self.password) return esl def _get_data_queue_from_backend(self): self.connection = self._connect() try: return self.connection.queueStatus() except Exception, e: print str(e) return {}
def unified_configs(file_config, file_template, sections=[]): config = QPanelConfig(file_config).config template = QPanelConfig(file_template).config # create new file based in template for s in sections: items = dict(template.items(s)) for i in items: try: template.set(s, i, config.get(s, i)) except: pass # set old configs for s in config.sections(): items = dict(config.items(s)) for i in items: try: template.set(s, i, config.get(s, i)) except ConfigParser.NoSectionError: template.add_section(s) template.set(s, i, config.get(s, i)) file = open(file_config, 'wr') template.write(file) file.close()
# -*- coding: utf-8 -*- # # Class Qpanel for Asterisk # # Copyright (C) 2015-2016 Rodrigo Ramírez Norambuena <*****@*****.**> # from sqlalchemy import Table, Column, Integer, Text from sqlalchemy.orm.exc import NoResultFound from sqlalchemy.sql import exists from database import session_db, metadata, DeclarativeBase import utils from config import QPanelConfig cfg = QPanelConfig() # Class queue_log Table queue_log = Table(cfg.get('queue_log', 'table'), metadata, Column('id', Integer, primary_key=True, nullable=False), Column('time', Text), Column('callid', Text), Column('queuename', Text), Column('agent', Text), Column('event', Text), Column('data', Text), Column('data1', Text), Column('data2', Text), Column('data3', Text), Column('data4', Text), Column('data5', Text))
# -*- coding: utf-8 -*- # # Class model Qpanel QueueLog Database # # Copyright (C) 2015-2016 Rodrigo Ramírez Norambuena <*****@*****.**> # from sqlalchemy import create_engine, MetaData from sqlalchemy.orm import sessionmaker, scoped_session from sqlalchemy.ext.declarative import declarative_base from config import QPanelConfig cfg = QPanelConfig() engine = create_engine('%s://%s:%s@%s:%s/%s' % (cfg.get('queue_log', 'adapter'), cfg.get('queue_log', 'user'), cfg.get('queue_log', 'password'), cfg.get('queue_log', 'host'), cfg.get('queue_log', 'port'), cfg.get('queue_log', 'database') ), echo=cfg.is_debug, pool_recycle=3600) # session session_db = scoped_session(sessionmaker(bind=engine, autoflush=False, autocommit=False)) DeclarativeBase = declarative_base() metadata = MetaData()
# -*- coding: utf-8 -*- # # Class model Qpanel QueueLog Database # # Copyright (C) 2015-2016 Rodrigo Ramírez Norambuena <*****@*****.**> # from sqlalchemy import create_engine, MetaData from sqlalchemy.orm import sessionmaker, scoped_session from sqlalchemy.ext.declarative import declarative_base from config import QPanelConfig cfg = QPanelConfig() engine = create_engine( '%s://%s:%s@%s:%s/%s' % (cfg.get('queue_log', 'adapter'), cfg.get('queue_log', 'user'), cfg.get('queue_log', 'password'), cfg.get('queue_log', 'host'), cfg.get('queue_log', 'port'), cfg.get('queue_log', 'database')), echo=cfg.is_debug, pool_recycle=3600) # session session_db = scoped_session( sessionmaker(bind=engine, autoflush=False, autocommit=False)) DeclarativeBase = declarative_base() metadata = MetaData()
# -*- coding: utf-8 -*- # # Class Qpanel for Asterisk # # Copyright (C) 2015-2016 Rodrigo Ramírez Norambuena <*****@*****.**> # from sqlalchemy import Table, Column, Integer, Text from sqlalchemy.orm.exc import NoResultFound from sqlalchemy.sql import exists from database import session_db, metadata, DeclarativeBase import utils from config import QPanelConfig cfg = QPanelConfig() # Class queue_log Table queue_log = Table(cfg.get('queue_log', 'table'), metadata, Column('id', Integer, primary_key=True, nullable=False), Column('time', Text), Column('callid', Text), Column('queuename', Text), Column('agent', Text), Column('event', Text), Column('data', Text), Column('data1', Text), Column('data2', Text), Column('data3', Text), Column('data4', Text), Column('data5', Text)) class QueueLog(DeclarativeBase): __table__ = queue_log query = session_db.query_property()