upd history

This commit is contained in:
Андрей Владимирович 2016-03-12 18:25:16 +03:00
parent 465bcaf125
commit f1d6bbdb1f

View File

@ -4,6 +4,12 @@ from settings import Settings
import os import os
MESSAGE_OWNER = {
'ME': 0,
'FRIEND': 1
}
class History(object): class History(object):
def __init__(self, name): def __init__(self, name):
self._name = name self._name = name
@ -16,9 +22,9 @@ class History(object):
db.close() db.close()
def add_friend_to_db(self, tox_id): def add_friend_to_db(self, tox_id):
os.chdir(Settings.get_default_path())
db = sqlite3.connect(self._name + '.hstr')
try: try:
os.chdir(Settings.get_default_path())
db = sqlite3.connect(self._name + '.hstr')
cursor = db.cursor() cursor = db.cursor()
cursor.execute('INSERT INTO friends VALUES (?);', (tox_id, )) cursor.execute('INSERT INTO friends VALUES (?);', (tox_id, ))
cursor.execute('CREATE TABLE id' + tox_id + '(' cursor.execute('CREATE TABLE id' + tox_id + '('
@ -36,9 +42,9 @@ class History(object):
db.close() db.close()
def delete_friend_from_db(self, tox_id): def delete_friend_from_db(self, tox_id):
os.chdir(Settings.get_default_path())
db = sqlite3.connect(self._name + '.hstr')
try: try:
os.chdir(Settings.get_default_path())
db = sqlite3.connect(self._name + '.hstr')
cursor = db.cursor() cursor = db.cursor()
cursor.execute('DELETE FROM friends WHERE tox_id=?;', (tox_id, )) cursor.execute('DELETE FROM friends WHERE tox_id=?;', (tox_id, ))
cursor.execute('DROP TABLE id' + tox_id + ';') cursor.execute('DROP TABLE id' + tox_id + ';')
@ -50,9 +56,9 @@ class History(object):
db.close() db.close()
def save_messages_to_db(self, tox_id, messages_iter): def save_messages_to_db(self, tox_id, messages_iter):
os.chdir(Settings.get_default_path())
db = sqlite3.connect(self._name + '.hstr')
try: try:
os.chdir(Settings.get_default_path())
db = sqlite3.connect(self._name + '.hstr')
cursor = db.cursor() cursor = db.cursor()
cursor.executemany('INSERT INTO id' + tox_id + '(message, owner, unix_time) ' cursor.executemany('INSERT INTO id' + tox_id + '(message, owner, unix_time) '
'VALUES (?, ?, ?);', messages_iter) 'VALUES (?, ?, ?);', messages_iter)
@ -64,31 +70,31 @@ class History(object):
db.close() db.close()
def messages_getter(self, tox_id): def messages_getter(self, tox_id):
return MessageGetter(self._name, tox_id) return History.MessageGetter(self._name, tox_id)
class MessageGetter(object):
def __init__(self, name, tox_id):
os.chdir(Settings.get_default_path())
self._db = sqlite3.connect(name + '.hstr')
self._cursor = self._db.cursor()
self._cursor.execute('SELECT message, owner, unix_time FROM id' + tox_id +
' ORDER BY unix_time DESC;')
class MessageGetter(object): def get_one(self):
def __init__(self, name, tox_id): return self._cursor.fetchone()
os.chdir(Settings.get_default_path())
self._db = sqlite3.connect(name + '.hstr')
self._cursor = self._db.cursor()
self._cursor.execute('SELECT message, owner, unix_time FROM id' + tox_id +
' ORDER BY unix_time DESC;')
def get_one(self): def get_all(self):
return self._cursor.fetchone() return self._cursor.fetchall()
def get_all(self): def get(self, count):
return self._cursor.fetchall() return self._cursor.fetchmany(count)
def get(self, count): def __del__(self):
return self._cursor.fetchmany(count) self._db.close()
def __del__(self):
self._db.close()
if __name__ == '__main__': if __name__ == '__main__':
h = History('test') h = History('test')
getter = h.messages_getter('42') getter = h.messages_getter('42')
print getter.get_all() print getter.get_all()
print getter.get(5)