Loading lib/galaxy/managers/jobs.py +2 −1 Original line number Diff line number Diff line import json import logging import typing from datetime import datetime from boltons.iterutils import remap from pydantic import ( Loading Loading @@ -107,7 +108,7 @@ class JobManager: def build_and_apply_filters(query, objects, filter_func): if objects is not None: if isinstance(objects, str): if isinstance(objects, str) or isinstance(objects, datetime): query = query.filter(filter_func(objects)) elif isinstance(objects, list): t = [] Loading lib/galaxy/schema/schema.py +2 −2 Original line number Diff line number Diff line Loading @@ -1109,8 +1109,8 @@ class JobIndexQueryPayload(Model): user_id: Optional[DecodedDatabaseIdField] = None tool_ids: Optional[List[str]] = None tool_ids_like: Optional[List[str]] = None date_range_min: Optional[str] = None date_range_max: Optional[str] = None date_range_min: Optional[datetime] = None date_range_max: Optional[datetime] = None history_id: Optional[DecodedDatabaseIdField] = None workflow_id: Optional[DecodedDatabaseIdField] = None invocation_id: Optional[DecodedDatabaseIdField] = None Loading lib/galaxy/webapps/galaxy/api/jobs.py +5 −4 Original line number Diff line number Diff line Loading @@ -5,6 +5,7 @@ API operations on a jobs. """ import logging from datetime import datetime from typing import ( Any, Dict, Loading Loading @@ -98,13 +99,13 @@ ToolIdLikeQueryParam: Optional[str] = Query( description="Limit listing of jobs to those that match one of the included tool ID sql-like patterns. If none, all are returned", ) DateRangeMinQueryParam: Optional[str] = Query( DateRangeMinQueryParam: Optional[datetime] = Query( default=None, title="Date Range Minimum", description="Limit listing of jobs to those that are updated after specified date (e.g. '2014-01-01')", ) DateRangeMaxQueryParam: Optional[str] = Query( DateRangeMaxQueryParam: Optional[datetime] = Query( default=None, title="Date Range Maximum", description="Limit listing of jobs to those that are updated before specified date (e.g. '2014-01-01')", Loading Loading @@ -186,8 +187,8 @@ class FastAPIJobs: view: JobIndexViewEnum = ViewQueryParam, tool_id: Optional[str] = ToolIdQueryParam, tool_id_like: Optional[str] = ToolIdLikeQueryParam, date_range_min: Optional[str] = DateRangeMinQueryParam, date_range_max: Optional[str] = DateRangeMaxQueryParam, date_range_min: Optional[datetime] = DateRangeMinQueryParam, date_range_max: Optional[datetime] = DateRangeMaxQueryParam, history_id: Optional[EncodedDatabaseIdField] = HistoryIdQueryParam, workflow_id: Optional[EncodedDatabaseIdField] = WorkflowIdQueryParam, invocation_id: Optional[EncodedDatabaseIdField] = InvocationIdQueryParam, Loading lib/galaxy_test/api/test_jobs.py +2 −2 Original line number Diff line number Diff line Loading @@ -82,14 +82,14 @@ class JobsApiTestCase(ApiTestCase, TestsTools): @uses_test_history(require_new=True) def test_index_date_filter(self, history_id): self.__history_with_new_dataset(history_id) two_weeks_ago = (datetime.datetime.utcnow() - datetime.timedelta(14)).isoformat() last_week = (datetime.datetime.utcnow() - datetime.timedelta(7)).isoformat() next_week = (datetime.datetime.utcnow() + datetime.timedelta(7)).isoformat() today = datetime.datetime.utcnow().isoformat() tomorrow = (datetime.datetime.utcnow() + datetime.timedelta(1)).isoformat() self.__history_with_new_dataset(history_id) jobs = self.__jobs_index(data={"date_range_min": today[0:10], "date_range_max": tomorrow[0:10]}) jobs = self.__jobs_index(data={"date_range_min": today, "date_range_max": tomorrow}) assert len(jobs) > 0 today_job_id = jobs[0]["id"] Loading Loading
lib/galaxy/managers/jobs.py +2 −1 Original line number Diff line number Diff line import json import logging import typing from datetime import datetime from boltons.iterutils import remap from pydantic import ( Loading Loading @@ -107,7 +108,7 @@ class JobManager: def build_and_apply_filters(query, objects, filter_func): if objects is not None: if isinstance(objects, str): if isinstance(objects, str) or isinstance(objects, datetime): query = query.filter(filter_func(objects)) elif isinstance(objects, list): t = [] Loading
lib/galaxy/schema/schema.py +2 −2 Original line number Diff line number Diff line Loading @@ -1109,8 +1109,8 @@ class JobIndexQueryPayload(Model): user_id: Optional[DecodedDatabaseIdField] = None tool_ids: Optional[List[str]] = None tool_ids_like: Optional[List[str]] = None date_range_min: Optional[str] = None date_range_max: Optional[str] = None date_range_min: Optional[datetime] = None date_range_max: Optional[datetime] = None history_id: Optional[DecodedDatabaseIdField] = None workflow_id: Optional[DecodedDatabaseIdField] = None invocation_id: Optional[DecodedDatabaseIdField] = None Loading
lib/galaxy/webapps/galaxy/api/jobs.py +5 −4 Original line number Diff line number Diff line Loading @@ -5,6 +5,7 @@ API operations on a jobs. """ import logging from datetime import datetime from typing import ( Any, Dict, Loading Loading @@ -98,13 +99,13 @@ ToolIdLikeQueryParam: Optional[str] = Query( description="Limit listing of jobs to those that match one of the included tool ID sql-like patterns. If none, all are returned", ) DateRangeMinQueryParam: Optional[str] = Query( DateRangeMinQueryParam: Optional[datetime] = Query( default=None, title="Date Range Minimum", description="Limit listing of jobs to those that are updated after specified date (e.g. '2014-01-01')", ) DateRangeMaxQueryParam: Optional[str] = Query( DateRangeMaxQueryParam: Optional[datetime] = Query( default=None, title="Date Range Maximum", description="Limit listing of jobs to those that are updated before specified date (e.g. '2014-01-01')", Loading Loading @@ -186,8 +187,8 @@ class FastAPIJobs: view: JobIndexViewEnum = ViewQueryParam, tool_id: Optional[str] = ToolIdQueryParam, tool_id_like: Optional[str] = ToolIdLikeQueryParam, date_range_min: Optional[str] = DateRangeMinQueryParam, date_range_max: Optional[str] = DateRangeMaxQueryParam, date_range_min: Optional[datetime] = DateRangeMinQueryParam, date_range_max: Optional[datetime] = DateRangeMaxQueryParam, history_id: Optional[EncodedDatabaseIdField] = HistoryIdQueryParam, workflow_id: Optional[EncodedDatabaseIdField] = WorkflowIdQueryParam, invocation_id: Optional[EncodedDatabaseIdField] = InvocationIdQueryParam, Loading
lib/galaxy_test/api/test_jobs.py +2 −2 Original line number Diff line number Diff line Loading @@ -82,14 +82,14 @@ class JobsApiTestCase(ApiTestCase, TestsTools): @uses_test_history(require_new=True) def test_index_date_filter(self, history_id): self.__history_with_new_dataset(history_id) two_weeks_ago = (datetime.datetime.utcnow() - datetime.timedelta(14)).isoformat() last_week = (datetime.datetime.utcnow() - datetime.timedelta(7)).isoformat() next_week = (datetime.datetime.utcnow() + datetime.timedelta(7)).isoformat() today = datetime.datetime.utcnow().isoformat() tomorrow = (datetime.datetime.utcnow() + datetime.timedelta(1)).isoformat() self.__history_with_new_dataset(history_id) jobs = self.__jobs_index(data={"date_range_min": today[0:10], "date_range_max": tomorrow[0:10]}) jobs = self.__jobs_index(data={"date_range_min": today, "date_range_max": tomorrow}) assert len(jobs) > 0 today_job_id = jobs[0]["id"] Loading