astrodatagui: add StarsDB.py

this class can only be instanciated once!
This commit is contained in:
2024-03-04 11:33:05 +01:00
parent 33fc818e52
commit 67a471a49d
2 changed files with 40 additions and 0 deletions
+40
View File
@@ -0,0 +1,40 @@
from enum import Enum
import sqlite3
class StarDBError(Enum):
NO_ERROR = 0
DB_CONNECTION_FAILED = 1
DB_NAME = "stars.db"
class StarDB():
__instanceVar = None
@staticmethod
def getInstance():
if(StarDB.__instanceVar == None):
return StarDB()
else:
return StarDB.__instanceVar
def __init__(self):
if(StarDB.__instanceVar != None):
raise Exception("StarDB cannot be instantiated more than once!")
else:
StarDB.__instanceVar = self
self.error = StarDBError.NO_ERROR
try:
con = sqlite3.connect(DB_NAME)
self.dbCursor = con.cursor()
except:
self.error = StarDBError.DB_CONNECTION_FAILED
if(self.error is not StarDBError.NO_ERROR):
raise Exception("StarDB cannot connect to the database!")
else:
self.initializeDB()
def initializeDB(self):
return
View File