diff --git a/morbidissimo/__init__.py b/morbidissimo/__init__.py new file mode 100644 index 0000000..5ba45ad --- /dev/null +++ b/morbidissimo/__init__.py @@ -0,0 +1,6 @@ + +from .modman import ModuleManager +from .morioc import MorIOC +from .sendmail import sendmail, Message, SendMailError + + diff --git a/morbidissimo/modman/__init__.py b/morbidissimo/modman/__init__.py new file mode 100644 index 0000000..3d17feb --- /dev/null +++ b/morbidissimo/modman/__init__.py @@ -0,0 +1,4 @@ + +from .modman import ModuleManager + + diff --git a/morbidissimo/modman/modman.py b/morbidissimo/modman/modman.py index 076593b..626e9b5 100644 --- a/morbidissimo/modman/modman.py +++ b/morbidissimo/modman/modman.py @@ -1,8 +1,8 @@ from time import sleep from pathlib import Path -from module import Module, ModuleLoadError, MissingEntryFunctionError -from utils import printable_exception +from .module import Module, ModuleLoadError, MissingEntryFunctionError +from .utils import printable_exception class ModuleManager: diff --git a/morbidissimo/modman/module.py b/morbidissimo/modman/module.py index 90a58cc..08e7938 100644 --- a/morbidissimo/modman/module.py +++ b/morbidissimo/modman/module.py @@ -1,8 +1,8 @@ from pathlib import Path -from importing import load_module -from task import Task -from utils import printable_exception +from .importing import load_module +from .task import Task +from .utils import printable_exception class Module: diff --git a/morbidissimo/modman/run.py b/morbidissimo/modman/run.py index 4d1c6b9..4780592 100755 --- a/morbidissimo/modman/run.py +++ b/morbidissimo/modman/run.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 -from modman import ModuleManager +from .modman import ModuleManager folder = "scripts" diff --git a/morbidissimo/modman/task.py b/morbidissimo/modman/task.py index c4db38a..56bef80 100644 --- a/morbidissimo/modman/task.py +++ b/morbidissimo/modman/task.py @@ -1,6 +1,6 @@ from threading import Thread -from killthread import killthread +from .killthread import killthread class Task(Thread): diff --git a/morbidissimo/morioc/__init__.py b/morbidissimo/morioc/__init__.py new file mode 100644 index 0000000..1bb027a --- /dev/null +++ b/morbidissimo/morioc/__init__.py @@ -0,0 +1,4 @@ + +from .morioc import MorIOC + + diff --git a/morbidissimo/morioc/morioc.py b/morbidissimo/morioc/morioc.py index 6cef3d8..1ae7f61 100644 --- a/morbidissimo/morioc/morioc.py +++ b/morbidissimo/morioc/morioc.py @@ -3,10 +3,10 @@ from datetime import datetime from threading import Thread from pcaspy import SimpleServer, Driver -from channels import PV, Image -from context import Context -from pvinfoset import PVInfoSet -from managed import delete_managed +from .channels import PV, Image +from .context import Context +from .pvinfoset import PVInfoSet +from .managed import delete_managed INITIAL_PVDB = { #TODO make wait_time caput-able diff --git a/morbidissimo/morioc/pvinfoset.py b/morbidissimo/morioc/pvinfoset.py index 71a6e28..da46060 100644 --- a/morbidissimo/morioc/pvinfoset.py +++ b/morbidissimo/morioc/pvinfoset.py @@ -1,5 +1,5 @@ -from pvinfo import PVInfo -from managed import is_managed, get_managed_dtype +from .pvinfo import PVInfo +from .managed import is_managed, get_managed_dtype class PVInfoSet(set): diff --git a/morbidissimo/morioc/run.py b/morbidissimo/morioc/run.py index 29c79cd..ca6c9eb 100755 --- a/morbidissimo/morioc/run.py +++ b/morbidissimo/morioc/run.py @@ -5,7 +5,7 @@ from random import random, randint, choice from numpy.random import normal import numpy as np -from morioc import MorIOC +from .morioc import MorIOC if __name__ == "__main__": diff --git a/morbidissimo/morioc/test_infer_type.py b/morbidissimo/morioc/test_infer_type.py index 51ffd75..11ae977 100755 --- a/morbidissimo/morioc/test_infer_type.py +++ b/morbidissimo/morioc/test_infer_type.py @@ -6,7 +6,7 @@ import numpy as np import pytest -from pvinfo import infer_type as it +from .pvinfo import infer_type as it psfalse = partial(it, parse_string=False) pstrue = partial(it, parse_string=True) diff --git a/run-modman.py b/run-modman.py new file mode 100755 index 0000000..9de2912 --- /dev/null +++ b/run-modman.py @@ -0,0 +1,11 @@ +#!/usr/bin/env python3 + +from morbidissimo import ModuleManager + + +folder = "morbidissimo/modman/scripts" +mm = ModuleManager(folder) +mm.run() + + + diff --git a/run-morioc.py b/run-morioc.py new file mode 100755 index 0000000..2c244f6 --- /dev/null +++ b/run-morioc.py @@ -0,0 +1,63 @@ +#!/usr/bin/env python + +from time import sleep +from random import random, randint, choice +from numpy.random import normal +import numpy as np + +from morbidissimo import MorIOC + + +if __name__ == "__main__": + with MorIOC("mtest") as mor: + + ch_pv = mor.PV("chan-PV") + ch_img = mor.Image("chan-Image") + + for i in range(1000): + + ch_pv.put(random()) + + img = np.random.random(200).reshape(10, 20) + ch_img.put(img) + + + img = np.random.random(200).reshape(10, 20) + width, height = img.shape + mor.serve(**{ + "IMG:FPICTURE": img, + "IMG:WIDTH": width, + "IMG:HEIGHT": height, + }) + + arr = np.random.random(20).reshape(2, 10) + mor.serve( + arr = arr + ) + + mor.serve( + rand2 = 1.23, + ) + + mor.serve( + rand0 = normal(), + rand1 = random(), + rand2 = randint(100, 200), + rand3 = random() + 10, + rand4 = choice(["test", "bla", "blabla"]), + rand5 = "float" + ) + + mor.host( + bucket1 = int, + bucket2 = "float", + bucket3 = str + ) + + v = mor.get("bucket1") + mor.serve(test = v*2) + + sleep(0.5) + + +