# {py:mod}`nexusLIMS.harvesters.nemo.utils` ```{py:module} nexusLIMS.harvesters.nemo.utils ``` ```{autodoc2-docstring} nexusLIMS.harvesters.nemo.utils :parser: autodoc2_docstrings_parser :allowtitles: ``` ## Module Contents ### Functions ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`get_harvesters_enabled ` - ```{autodoc2-docstring} nexusLIMS.harvesters.nemo.utils.get_harvesters_enabled :parser: autodoc2_docstrings_parser :summary: ``` * - {py:obj}`add_all_usage_events_to_db ` - ```{autodoc2-docstring} nexusLIMS.harvesters.nemo.utils.add_all_usage_events_to_db :parser: autodoc2_docstrings_parser :summary: ``` * - {py:obj}`get_usage_events_as_sessions ` - ```{autodoc2-docstring} nexusLIMS.harvesters.nemo.utils.get_usage_events_as_sessions :parser: autodoc2_docstrings_parser :summary: ``` * - {py:obj}`get_connector_for_session ` - ```{autodoc2-docstring} nexusLIMS.harvesters.nemo.utils.get_connector_for_session :parser: autodoc2_docstrings_parser :summary: ``` * - {py:obj}`get_connector_by_base_url ` - ```{autodoc2-docstring} nexusLIMS.harvesters.nemo.utils.get_connector_by_base_url :parser: autodoc2_docstrings_parser :summary: ``` * - {py:obj}`process_res_question_samples ` - ```{autodoc2-docstring} nexusLIMS.harvesters.nemo.utils.process_res_question_samples :parser: autodoc2_docstrings_parser :summary: ``` * - {py:obj}`has_valid_question_data ` - ```{autodoc2-docstring} nexusLIMS.harvesters.nemo.utils.has_valid_question_data :parser: autodoc2_docstrings_parser :summary: ``` * - {py:obj}`id_from_url ` - ```{autodoc2-docstring} nexusLIMS.harvesters.nemo.utils.id_from_url :parser: autodoc2_docstrings_parser :summary: ``` ```` ### API ````{py:function} get_harvesters_enabled() -> typing.List[nexusLIMS.harvesters.nemo.connector.NemoConnector] :canonical: nexusLIMS.harvesters.nemo.utils.get_harvesters_enabled ```{autodoc2-docstring} nexusLIMS.harvesters.nemo.utils.get_harvesters_enabled :parser: autodoc2_docstrings_parser ``` ```` ````{py:function} add_all_usage_events_to_db(user: typing.Union[str, int] | None = None, dt_from: datetime.datetime | None = None, dt_to: datetime.datetime | None = None, tool_id: typing.Union[int, typing.List[int]] | None = None) :canonical: nexusLIMS.harvesters.nemo.utils.add_all_usage_events_to_db ```{autodoc2-docstring} nexusLIMS.harvesters.nemo.utils.add_all_usage_events_to_db :parser: autodoc2_docstrings_parser ``` ```` ````{py:function} get_usage_events_as_sessions(user: typing.Union[str, int] | None = None, dt_from: datetime.datetime | None = None, dt_to: datetime.datetime | None = None, tool_id: typing.Union[int, typing.List[int]] | None = None) -> typing.List[nexusLIMS.db.session_handler.Session] :canonical: nexusLIMS.harvesters.nemo.utils.get_usage_events_as_sessions ```{autodoc2-docstring} nexusLIMS.harvesters.nemo.utils.get_usage_events_as_sessions :parser: autodoc2_docstrings_parser ``` ```` ````{py:function} get_connector_for_session(session: nexusLIMS.db.session_handler.Session) -> nexusLIMS.harvesters.nemo.connector.NemoConnector :canonical: nexusLIMS.harvesters.nemo.utils.get_connector_for_session ```{autodoc2-docstring} nexusLIMS.harvesters.nemo.utils.get_connector_for_session :parser: autodoc2_docstrings_parser ``` ```` ````{py:function} get_connector_by_base_url(base_url: str) -> nexusLIMS.harvesters.nemo.connector.NemoConnector :canonical: nexusLIMS.harvesters.nemo.utils.get_connector_by_base_url ```{autodoc2-docstring} nexusLIMS.harvesters.nemo.utils.get_connector_by_base_url :parser: autodoc2_docstrings_parser ``` ```` ````{py:function} process_res_question_samples(res_dict: typing.Dict) -> typing.Tuple[typing.List[str | None] | None, typing.List[str | None] | None, typing.List[str | None] | None, typing.List[str | None] | None] :canonical: nexusLIMS.harvesters.nemo.utils.process_res_question_samples ```{autodoc2-docstring} nexusLIMS.harvesters.nemo.utils.process_res_question_samples :parser: autodoc2_docstrings_parser ``` ```` ````{py:function} has_valid_question_data(event_dict: typing.Dict, field: str = 'run_data') -> bool :canonical: nexusLIMS.harvesters.nemo.utils.has_valid_question_data ```{autodoc2-docstring} nexusLIMS.harvesters.nemo.utils.has_valid_question_data :parser: autodoc2_docstrings_parser ``` ```` ````{py:function} id_from_url(url: str) -> int | None :canonical: nexusLIMS.harvesters.nemo.utils.id_from_url ```{autodoc2-docstring} nexusLIMS.harvesters.nemo.utils.id_from_url :parser: autodoc2_docstrings_parser ``` ````