示例#1
0
def insert_entries(entries):
    for entry in entries:
        cel = dict(entry)

        for key in [
                'userdeftype', 'cid_ani', 'cid_rdnis', 'cid_dnid', 'channame',
                'appname', 'appdata', 'accountcode', 'peeraccount', 'peer'
        ]:
            cel.setdefault(key, '')

        cel.setdefault('amaflags', 0)
        if 'call_log_id' in cel and cel['call_log_id']:
            cel['call_log_id'] = int(cel['call_log_id'])
        else:
            cel['call_log_id'] = None

        query = """INSERT INTO cel VALUES (
                      DEFAULT,
                      :eventtype,
                      :eventtime,
                      :userdeftype,
                      :cid_name,
                      :cid_num,
                      :cid_ani,
                      :cid_rdnis,
                      :cid_dnid,
                      :exten,
                      :context,
                      :channame,
                      :appname,
                      :appdata,
                      :amaflags,
                      :accountcode,
                      :peeraccount,
                      :uniqueid,
                      :linkedid,
                      :userfield,
                      :peer,
                      :call_log_id
                      )"""

        postgres.exec_sql_request(query, **cel)
示例#2
0
def insert_entries(entries):
    for entry in entries:
        cel = dict(entry)

        for key in ['userdeftype', 'cid_ani', 'cid_rdnis', 'cid_dnid', 'channame', 'appname', 'appdata', 'accountcode', 'peeraccount', 'peer']:
            cel.setdefault(key, '')

        cel.setdefault('amaflags', 0)
        if 'call_log_id' in cel and cel['call_log_id']:
            cel['call_log_id'] = int(cel['call_log_id'])
        else:
            cel['call_log_id'] = None

        query = """INSERT INTO cel VALUES (
                      DEFAULT,
                      :eventtype,
                      :eventtime,
                      :userdeftype,
                      :cid_name,
                      :cid_num,
                      :cid_ani,
                      :cid_rdnis,
                      :cid_dnid,
                      :exten,
                      :context,
                      :channame,
                      :appname,
                      :appdata,
                      :amaflags,
                      :accountcode,
                      :peeraccount,
                      :uniqueid,
                      :linkedid,
                      :userfield,
                      :peer,
                      :call_log_id
                      )"""

        postgres.exec_sql_request(query, **cel)
示例#3
0
    def _setup_provd(self):
        provd_rest_port = 8667
        try:
            query = 'SELECT * FROM "provisioning" WHERE id = 1;'
            result = postgres.exec_sql_request(query).fetchone()
            provd_rest_port = result['http_port']
        except OperationalError:
            pass

        provd_config_obj = RestConfiguration(protocol='http',
                                             hostname=self.xivo_host,
                                             port=provd_rest_port,
                                             content_type='application/vnd.proformatique.provd+json')
        self.rest_provd = WsUtils(provd_config_obj)

        provd_url = "http://%s:%s/provd" % (self.xivo_host, provd_rest_port)
        self.provd_client = new_provisioning_client(provd_url)
示例#4
0
    def _setup_provd(self):
        provd_rest_port = 8667
        try:
            query = 'SELECT * FROM "provisioning" WHERE id = 1;'
            result = postgres.exec_sql_request(query).fetchone()
            provd_rest_port = result['http_port']
        except OperationalError:
            pass

        provd_config_obj = RestConfiguration(
            protocol='http',
            hostname=self.xivo_host,
            port=provd_rest_port,
            content_type='application/vnd.proformatique.provd+json')
        self.rest_provd = WsUtils(provd_config_obj)

        provd_url = "http://%s:%s/provd" % (self.xivo_host, provd_rest_port)
        self.provd_client = new_provisioning_client(provd_url)
def has_call_log(entry):
    query = _query_from_entry(entry)

    return postgres.exec_sql_request(query, **entry).scalar()
示例#6
0
def delete_entries_between(start, end):
    query = "DELETE FROM cel WHERE eventtime BETWEEN :start AND :end"
    postgres.exec_sql_request(query, start=start, end=end)
示例#7
0
def delete_all():
    query = "DELETE FROM cel"
    postgres.exec_sql_request(query)
示例#8
0
def matches_last_call_log(entry):
    entry['last'] = True
    query = _query_from_entry(entry)

    return postgres.exec_sql_request(query, **entry).scalar()
示例#9
0
def _find_func_keys_for_template(template_id):
    query = 'SELECT func_key_id FROM func_key_mapping WHERE template_id = :template_id'
    cursor = exec_sql_request(query, template_id=template_id)
    return [row[0] for row in cursor]
示例#10
0
def find_func_keys_with_user_destination(user_id):
    query = 'SELECT func_key_id FROM func_key_dest_user WHERE user_id = :user_id'
    cursor = exec_sql_request(query, user_id=user_id)
    return [row[0] for row in cursor]
示例#11
0
def _delete_mapping_associations(func_key_id):
    query = 'DELETE FROM func_key_mapping WHERE func_key_id = :func_key_id'
    exec_sql_request(query, func_key_id=func_key_id)
示例#12
0
def set_penalty_for_agent(queue_name, agent_id, penalty):
    query = 'UPDATE queuemember SET penalty = :penalty WHERE queue_name = :queue_name AND userid = :userid AND usertype = \'agent\''
    exec_sql_request(query, queue_name=queue_name, userid=agent_id, penalty=penalty)
示例#13
0
def delete_all():
    query = "DELETE FROM cel"
    postgres.exec_sql_request(query)
示例#14
0
def get_extension_typeval(extension_id):
    query = "SELECT typeval FROM extensions WHERE id = :extension_id"
    cursor = exec_sql_request(query, extension_id=extension_id)
    return cursor.scalar()
示例#15
0
def insert_corrupt_data():
    pg_command = 'INSERT INTO queue_log(time, callid, queuename, agent, event, data1) VALUES (cast (localtimestamp - interval \'1 hour\' as text), \'test_exitwithtimeout\', \'q1\', \'NONE\', \'EXITWITHTIMEOUT\', \'1\')'
    postgres.exec_sql_request(pg_command)
示例#16
0
def delete_event_by_agent_number(event, agent_number):
    agent_number = _build_agent_db_tag_from_number(agent_number)
    pg_command = 'DELETE FROM queue_log WHERE agent = \'%s\' and event = \'%s\'' % (agent_number, event)
    postgres.exec_sql_request(pg_command)
示例#17
0
def delete_event_by_queue(event, queuename):
    pg_command = 'DELETE FROM queue_log WHERE queuename = \'%s\' and event = \'%s\'' % (queuename, event)
    postgres.exec_sql_request(pg_command)
示例#18
0
def get_penalty_for_agent(queue_name, agent_id):
    query = 'SELECT penalty FROM queuemember WHERE queue_name = :queue_name AND userid = :userid AND usertype = \'agent\''
    return exec_sql_request(query, queue_name=queue_name, userid=agent_id).first()['penalty']
示例#19
0
def delete_entries_between(start, end):
    query = "DELETE FROM cel WHERE eventtime BETWEEN :start AND :end"
    postgres.exec_sql_request(query, start=start, end=end)
示例#20
0
def matches_last_call_log(entry):
    entry['last'] = True
    query = _query_from_entry(entry)

    return postgres.exec_sql_request(query, **entry).scalar()
示例#21
0
def _delete_destination_associations(func_key_id):
    query = 'DELETE FROM func_key_dest_user WHERE func_key_id = :func_key_id'
    exec_sql_request(query, func_key_id=func_key_id)
示例#22
0
def get_extension_typeval(extension_id):
    query = "SELECT typeval FROM extensions WHERE id = :extension_id"
    cursor = exec_sql_request(query, extension_id=extension_id)
    return cursor.scalar()
示例#23
0
def _delete_func_key(func_key_id):
    query = 'DELETE FROM func_key WHERE id = :func_key_id'
    exec_sql_request(query, func_key_id=func_key_id)
示例#24
0
def get_entity_with_name(name):
    query = 'SELECT * FROM "entity" WHERE name = \'%s\';' % name
    result = postgres.exec_sql_request(query).fetchone()
    if result:
        return result
    return None
示例#25
0
def find_template_for_user(user_id):
    query = 'SELECT func_key_private_template_id FROM userfeatures WHERE id = :user_id'
    cursor = exec_sql_request(query, user_id=user_id)
    row = cursor.fetchone()
    return row[0]
示例#26
0
def oldest_entity_id():
    """The closest we have to the "default" entity"""
    query = 'SELECT id FROM "entity" ORDER BY "id"'
    result = postgres.exec_sql_request(query).fetchone()
    return result.id
示例#27
0
def _delete_template(template_id):
    query = 'DELETE FROM func_key_template WHERE id = :template_id'
    exec_sql_request(query, template_id=template_id)
示例#28
0
def has_call_log(entry):
    query = _query_from_entry(entry)

    return postgres.exec_sql_request(query, **entry).scalar()