Source code for orangecontrib.bioinformatics.resolwe

""" Resolwe module """
from .utils import GENAPI_CACHE, CACHE_BACKEND, RESOLWEAPI_CACHE
from .genapi import GenAPI
from .resapi import ResolweAPI

RESOLWE_PLATFORM = 'resolwe'
GENESIS_PLATFORM = 'genesis'


class ResolweAuthError(Exception):
    """A login error occurred."""


class ResolweServerTypeError(Exception):
    """Unknown server type"""


[docs]def connect(username=None, password=None, url=None, server_type='resolwe'): """Connect to Resolwe server :param username: :type username: str :param password: :type password: str :param url: :type url: str :param server_type: genesis or resolwe :type server_type: str :return: Instance of GenAPI or ResolweAPI """ if server_type == RESOLWE_PLATFORM: _api = ResolweAPI elif server_type == GENESIS_PLATFORM: _api = GenAPI else: raise ResolweServerTypeError(f'Unknown server type {server_type}') try: return _api(username, password, url) except Exception as e: raise ResolweAuthError(e.args[0]) from e