Esempio n. 1
0
    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()
Esempio n. 2
0
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
Esempio n. 3
0
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 {}
Esempio n. 4
0
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 {}
Esempio n. 5
0
    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()
Esempio n. 6
0
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()
Esempio n. 7
0
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()
Esempio n. 8
0
# -*- 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))
Esempio n. 9
0
# -*- 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()
Esempio n. 10
0
# -*- 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()
Esempio n. 11
0
# -*- 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()