Skip to content

omero/init.py

OMERO Utility module

OmeroServiceProvider

Bases: AbstractServiceProvider

Provides a connection to a defined OMERO server using omero-py.

Source code in lavlab/omero/__init__.py
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
class OmeroServiceProvider(AbstractServiceProvider):  # pylint: disable=R0903
    """
    Provides a connection to a defined OMERO server using omero-py.
    """

    SERVICE = "OMERO"

    def login(self) -> BlitzGateway:
        """
        Logins into configured omero server.

        Returns
        -------
        BlitzGateway
            OMERO API gateway

        Raises
        ------
        RuntimeError
            Could not login to OMERO server.
        """
        details = lavlab.ctx.histology.service.copy()
        if details.get("username") is None or details.get("passwd") is None:
            username, password = self.cred_provider.get_credentials()
            details.update({"username": username, "passwd": password})

        conn = BlitzGateway(**details)
        if conn.connect():
            return conn
        raise RuntimeError("Unable to connect to OMERO server.")

login()

Logins into configured omero server.

Returns:

Type Description
BlitzGateway

OMERO API gateway

Raises:

Type Description
RuntimeError

Could not login to OMERO server.

Source code in lavlab/omero/__init__.py
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
def login(self) -> BlitzGateway:
    """
    Logins into configured omero server.

    Returns
    -------
    BlitzGateway
        OMERO API gateway

    Raises
    ------
    RuntimeError
        Could not login to OMERO server.
    """
    details = lavlab.ctx.histology.service.copy()
    if details.get("username") is None or details.get("passwd") is None:
        username, password = self.cred_provider.get_credentials()
        details.update({"username": username, "passwd": password})

    conn = BlitzGateway(**details)
    if conn.connect():
        return conn
    raise RuntimeError("Unable to connect to OMERO server.")

connect()

Uses the UtilContext to connect to the configured omero server

Returns:

Type Description
BlitzGateway

omero api gateway

Source code in lavlab/omero/__init__.py
45
46
47
48
49
50
51
52
53
54
55
56
def connect() -> BlitzGateway:
    """
    Uses the UtilContext to connect to the configured omero server

    Returns
    -------
    BlitzGateway
        omero api gateway
    """
    if not lavlab.ctx.histology.service.get("name").upper() == "OMERO":
        raise RuntimeError("Service is not OMERO.")
    return lavlab.ctx.histology.service_provider.login()

set_omero_logging_level(level)

Sets a given python logging._Level in all omero loggers.

Parameters:

Name Type Description Default
level str
required

Returns:

Type Description
None
Source code in lavlab/omero/__init__.py
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
def set_omero_logging_level(level: str):
    """
    Sets a given python logging._Level in all omero loggers.

    Parameters
    ----------
    level: logging._Level

    Returns
    -------
    None
    """
    LOGGER.info("Setting Omero logging level to %s.", level)
    for name in logging.root.manager.loggerDict.keys():  # pylint: disable=E1101
        if name.startswith("omero"):
            logging.getLogger(name).setLevel(level)