code: def search_tasks(self, *queries):
          
          queries = json.dumps(queries)
          response = API.query(self.api_token, queries)
          _fail_if_contains_errors(response)
          query_results = response.json()
          tasks = []
          for result in query_results:
              if 'data' not in result:
                  continue
              all_tasks = result['data']
              if result['type'] == Query.ALL:
                  all_projects = all_tasks
                  for project_json in all_projects:
                      uncompleted_tasks = project_json.get('uncompleted', [])
                      completed_tasks = project_json.get('completed', [])
                      all_tasks = uncompleted_tasks + completed_tasks
              for task_json in all_tasks:
                  project_id = task_json['project_id']
                  project = self.projects[project_id]
                  task = Task(task_json, project)
                  tasks.append(task)
          return tasks
docs: Return a list of tasks that match some search criteria.
  
          .. note:: Example queries can be found
              `here <https://todoist.com/Help/timeQuery>`_.
  
          .. note:: A standard set of queries are available
              in the :class:`pytodoist.todoist.Query` class.
  
          :param queries: Return tasks that match at least one of these queries.
          :type queries: list str
          :return: A list tasks that match at least one query.
          :rtype: list of :class:`pytodoist.todoist.Task`
  
          >>> from pytodoist import todoist
          >>> user = todoist.login('john.doe@gmail.com', 'password')
          >>> tasks = user.search_tasks(todoist.Query.TOMORROW, '18 Sep')