Source code for RWESharp.Loaders.Database

import traceback
import requests
import os
from RWESharp.utils import log
from RWESharp.info import ISMAC, ISWIN, ISLINUX, PATH, PATH_DRIZZLE
from PySide6.QtWidgets import QMessageBox, QProgressDialog
import zipfile
import urllib
import urllib.parse as parse

CONTENT_DRIZZLEINFO = "drizzleinfo"
CONTENT_DRIZZLELINK = "drizzle-link"

[docs] class RWESharpDatabase:
[docs] def __init__(self, database_path): self.database_path = database_path self.database_prefix = os.path.dirname(database_path) + "/" self.path_drizzle = None self.made_connection = False self.content = None self.log(f"Using database prefix {self.database_prefix}")
[docs] def connect(self) -> bool: self.log(f"Trying to get content of {self.database_path}") try: data = requests.get(self.database_path) if data.status_code != 200: self.log(f"Unknown status code({data.status_code})!", True) raise requests.exceptions.ConnectionError() content = data.json() self.made_connection = True self.log("Content recieved!") self.path_drizzle = parse.urljoin(self.database_prefix, content[CONTENT_DRIZZLEINFO]) self.content = content except requests.exceptions.ConnectionError: self.log("Connection Error! Canceling", True) return False except requests.exceptions.Timeout: self.log("Timeout Error! Canceling", True) return False except: self.log("Unknown exception! Canceling", True) traceback.print_exc() return False return True
[docs] def log(self, message, error=False): log("[DATABASE] " + message, error)