Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from peewee import *
- #база asteriskcdrdb (записи звонков)
- dbCDR = MySQLDatabase(
- 'asteriskcdrdb',
- host='zabbix.tv100.lan',
- port=3306,
- user='root',
- password='[eqdfv,kz',
- charset='utf8mb4')
- #база telebot (список пользователей бота)
- dbTelebot = MySQLDatabase(
- 'telebot',
- host='zabbix.tv100.lan',
- port=3306,
- user='root',
- password='[eqdfv,kz',
- charset='utf8mb4')
- class Users(Model):
- id = IntegerField()
- last_name = CharField()
- status = CharField()
- is_admin = IntegerField()
- class Meta:
- database = dbTelebot
- db_table = 'users'
- order_by = ('last_name',)
- class CDR(Model):
- call_date = DateTimeField(db_column='calldate', primary_key=True)
- recording_file = CharField(db_column='recordingfile')
- duration = IntegerField()
- src = CharField()
- dst = CharField()
- disposition = CharField()
- unique_id = CharField(db_column='uniqueid')
- class Meta:
- database = dbCDR
- db_table = 'cdr'
- class DBConnector():
- @staticmethod
- def adm_list_admins():
- return Users.select().where(Users.is_admin == 1)
- @staticmethod
- def adm_list(status):
- return Users.select().where(Users.status == status)
- @staticmethod
- def is_user(uid):
- if len(Users.select().where(Users.id == uid)) != 0:
- return True
- return False
- @staticmethod
- def is_admin(uid):
- if DBConnector.is_user(uid):
- if len(Users.select().where(Users.is_admin == 1)) != 0:
- return True
- return False
- @staticmethod
- def is_confirmed(uid):
- if len(Users.select().where(Users.id == uid, Users.status == 'CONFIRMED')) != 0:
- return True
- return False
- @staticmethod
- def get_user(uid):
- if DBConnector.is_user(uid):
- return Users.select().where(Users.id == uid)
- return False
- @staticmethod
- def get_call_list(phone, day, month, year, dispostition):
- res = CDR.select().where(
- CDR.disposition == dispostition,
- (CDR.dst.contains(phone)) | (CDR.src.contains(phone)),
- CDR.call_date.day == day,
- CDR.call_date.month == month,
- CDR.call_date.year == year).order_by(CDR.call_date)
- if len(res) != 0:
- return res
- return False
- if __name__ == '__main__':
- for row in DBConnector.get_call_list('4444','21', '01', '2016', 'ANSWERED'):
- print(row.call_date, row.src, row.dst, row.duration, row.recording_file)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement