Skip to content
Snippets Groups Projects
Commit fa7ebaab authored by Christopher Randolph Rhodes's avatar Christopher Randolph Rhodes
Browse files

Playing with importing session object only

parent c77eb6a4
No related branches found
No related tags found
No related merge requests found
......@@ -2,13 +2,12 @@ from fastapi import FastAPI, HTTPException
from pydantic import BaseModel
from base.models import DummyInstanceSegmentationModel, DummySemanticSegmentationModel
from base.session import Session, InvalidPathError
from base.session import session, InvalidPathError
from base.validators import validate_workflow_inputs
from base.workflows import classify_pixels
from extensions.ilastik.workflows import infer_px_then_ob_model
app = FastAPI(debug=True)
session = Session()
import model_server.extensions.ilastik.router
app.include_router(model_server.extensions.ilastik.router.router)
......
......@@ -13,7 +13,6 @@ from base.models import Model
logger = logging.getLogger(__name__)
class Singleton(type):
_instances = {}
......@@ -193,6 +192,11 @@ class Session(object, metaclass=Singleton):
def restart(self, **kwargs):
self.__init__(**kwargs)
# create singleton instance
session = Session()
class Error(Exception):
pass
......
from fastapi import HTTPException
from base.session import Session
session = Session()
from base.session import session
def validate_workflow_inputs(model_ids, inpaths):
for mid in model_ids:
......
from fastapi import APIRouter, HTTPException
from model_server.base.session import Session
from model_server.base.session import session
from model_server.base.validators import validate_workflow_inputs
from model_server.extensions.ilastik import models as ilm
......@@ -12,8 +12,6 @@ router = APIRouter(
tags=['ilastik'],
)
session = Session()
def load_ilastik_model(model_class: ilm.IlastikModel, params: ilm.IlastikParams) -> dict:
"""
......
......@@ -4,23 +4,23 @@ from pydantic import BaseModel
import unittest
from base.models import DummySemanticSegmentationModel
from base.session import Session
from base.session import session
class TestGetSessionObject(unittest.TestCase):
def setUp(self) -> None:
self.sesh = Session()
self.sesh = session
def tearDown(self) -> None:
print('Tearing down...')
Session._instances = {}
session.__class__._instances = {}
def test_session_is_singleton(self):
Session._instances = {}
self.assertEqual(len(Session._instances), 0)
s = Session()
self.assertEqual(len(Session._instances), 1)
self.assertIs(s, Session())
self.assertEqual(len(Session._instances), 1)
session.__class__._instances = {}
self.assertEqual(len(session.__class__._instances), 0)
s = session.__class__()
self.assertEqual(len(session.__class__._instances), 1)
self.assertIs(s, session.__class__())
self.assertEqual(len(session.__class__._instances), 1)
def test_session_logfile_is_valid(self):
self.assertTrue(exists(self.sesh.logfile), 'Session did not create a log file in the correct place')
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment