70 lines
2.2 KiB
Python
70 lines
2.2 KiB
Python
from tinydb import TinyDB, Query
|
|
from tinydb.operations import set, delete
|
|
|
|
class Database():
|
|
def __init__(self):
|
|
self.db = TinyDB("database.json", indent=4)
|
|
self.query = Query()
|
|
self.cookies_table = self.db.table("cookies")
|
|
self.viewing_table = self.db.table("viewing")
|
|
self.sites_table = self.db.table("sites")
|
|
|
|
def get_viewing_data(self, url:str ):
|
|
return (self.viewing_table.get(self.query.url == url))
|
|
|
|
def set_viewing_data(self, url:str, viewing_data: dict):
|
|
self.viewing_table.update(set(url, value), self.query.url == url)
|
|
|
|
def add_viewing_data(self, viewing_data):
|
|
self.viewing_table.insert(viewing_data)
|
|
|
|
def get_sites(self):
|
|
return (self.sites_table.all())
|
|
|
|
def get_site_by_id(self, id: int):
|
|
return (self.sites_table.get(self.query.id == id))
|
|
|
|
def get_sites_table_len(self):
|
|
return (len(self.sites_table.all()))
|
|
|
|
def get_cookies_table_len(self):
|
|
return (len(self.cookies_table.all()))
|
|
|
|
def add_cookies(self, arg: dict):
|
|
self.cookies_table.insert(arg)
|
|
|
|
def get_cookies(self):
|
|
return (self.cookies_table.get(self.query.id == "0"))
|
|
|
|
def get_last_site_id(self):
|
|
cookies = self.get_cookies()
|
|
last_site_id = cookies.get("last_site")
|
|
return (last_site_id)
|
|
|
|
def get_last_site(self):
|
|
last_site_id = self.get_last_site_id()
|
|
last_site = self.get_site_by_id(last_site_id)
|
|
return (last_site)
|
|
|
|
def get_last_path(self):
|
|
cookies = self.get_cookies()
|
|
last_path = cookies.get("last_path")
|
|
return (last_path)
|
|
|
|
def get_last_cursor_pos(self):
|
|
cookies = self.get_cookies()
|
|
last_path = cookies.get("last_cursor_pos")
|
|
return (last_path)
|
|
|
|
def set_last_site(self, value):
|
|
self.cookies_table.update(set("last_site", value), self.query.id == "0")
|
|
|
|
def set_last_path(self, value):
|
|
self.cookies_table.update(set("last_path", value), self.query.id == "0")
|
|
|
|
def set_last_cursor_pos(self, value):
|
|
self.cookies_table.update(set("last_cursor_pos", value), self.query.id == "0")
|
|
|
|
def add_site(self, site):
|
|
self.sites_table.insert(site)
|