Skip to content

Commit 7f310fe

Browse files
committed
Add comments
1 parent 045d62f commit 7f310fe

File tree

1 file changed

+14
-90
lines changed

1 file changed

+14
-90
lines changed

investing_algorithm_framework/extensions/database_resolver.py

Lines changed: 14 additions & 90 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,8 @@ class _QueryProperty:
9191
9292
This wrapper makes sure that each model gets a Query object with a
9393
correct session corresponding to its thread.
94+
95+
9496
"""
9597
def __init__(self, db):
9698
self.db = db
@@ -107,8 +109,15 @@ def __get__(self, instance, owner):
107109

108110

109111
class Model(object):
112+
"""
113+
Standard SQL alchemy model
114+
115+
This model is thread safe
116+
"""
110117
table_name = None
111118
session = None
119+
120+
# Needed for query property
112121
query_class = None
113122
_query = None
114123

@@ -306,10 +315,14 @@ def initialize_sqlite3(self):
306315
os.mknod(database_path)
307316

308317
database_url = self.config.get(DATABASE_URL)
309-
self.engine = create_engine('sqlite:////{}'.format(database_url))
318+
self.engine = create_engine(database_url)
310319

311320

312321
class DatabaseResolver(SQLAlchemyDatabaseResolverInterface):
322+
"""
323+
Adapter of the SQLAlchemyDatabaseResolver, for the context config or
324+
standard config object.
325+
"""
313326

314327
def __init__(
315328
self, query_class=Query, model_class=Model, context: Context = None
@@ -388,92 +401,3 @@ def model(self):
388401

389402
def initialize_tables(self) -> None:
390403
self.resolver.initialize_tables()
391-
392-
# class DatabaseResolver:
393-
# """
394-
# Class DatabaseResolver: resolves a database connection with the use
395-
# of SQLAlchemy.
396-
#
397-
# The DatabaseResolver implements session management across threads
398-
# to resolve conflicts.
399-
# """
400-
#
401-
# def __init__(
402-
# self,
403-
# query_class=Query,
404-
# model_class=Model,
405-
# base_dir: str = None,
406-
# ) -> None:
407-
#
408-
# self.
409-
# self._model = self.make_declarative_base(model_class)
410-
411-
# self.engine = None
412-
# self.session_factory = None
413-
# self.Session = None
414-
# self.database_path = None
415-
#
416-
# def configure(self):
417-
# self.initialize()
418-
#
419-
# self.session_factory = sessionmaker(bind=self.engine)
420-
# self.Session = scoped_session(self.session_factory)
421-
#
422-
# if self._model is None:
423-
# raise DatabaseOperationalException("Model is not defined")
424-
#
425-
# self._model.session = _SessionProperty(self)
426-
#
427-
# if not getattr(self._model, 'query_class', None):
428-
# self._model.query_class = self.Query
429-
#
430-
# self._model.query = _QueryProperty(self)
431-
#
432-
# def initialize(self):
433-
#
434-
# if not self.config.configured:
435-
# raise DatabaseOperationalException(
436-
# "Context config is not configured"
437-
# )
438-
#
439-
# database_name = self.config.get(DATA_BASE_NAME)
440-
#
441-
# if database_name is not None:
442-
# self.database_path = os.path.join(
443-
# self.config.get(BASE_DIR), database_name, '.sqlite3'
444-
# )
445-
# else:
446-
# self.database_path = os.path.join(
447-
# self.config.get(BASE_DIR), 'db.sqlite3'
448-
# )
449-
#
450-
# # Only create the database if not exist
451-
# if not os.path.isfile(self.database_path):
452-
# os.mknod(self.database_path)
453-
#
454-
# self.engine = create_engine('sqlite:////{}'.format(self.database_path))
455-
#
456-
# @staticmethod
457-
# def make_declarative_base(model_class):
458-
# """
459-
# Creates the declarative base that all models will inherit from.
460-
# """
461-
#
462-
# model = declarative_base(cls=model_class)
463-
# return model
464-
#
465-
# @property
466-
# def session(self) -> Session:
467-
# """
468-
# Returns scoped session of an Session object
469-
# """
470-
# return self.Session()
471-
#
472-
# @property
473-
# def model(self) -> Model:
474-
# return self._model
475-
#
476-
# def initialize_tables(self):
477-
# self._model.metadata.create_all(self.engine)
478-
479-

0 commit comments

Comments
 (0)