nodes: 0, module; 1, function_definition; 2, function_name:search; 3, parameters; 4, block; 5, identifier:term; 6, default_parameter; 7, default_parameter; 8, default_parameter; 9, default_parameter; 10, expression_statement; 11, expression_statement; 12, expression_statement; 13, return_statement; 14, identifier:category; 15, attribute; 16, identifier:pages; 17, integer:1; 18, identifier:sort; 19, None; 20, identifier:order; 21, None; 22, comment:"""Return a search result for term in category. Can also be
  		sorted and span multiple pages."""; 23, assignment; 24, call; 25, identifier:s; 26, identifier:Categories; 27, identifier:ALL; 28, identifier:s; 29, call; 30, attribute; 31, argument_list; 32, identifier:Search; 33, argument_list; 34, identifier:s; 35, identifier:search; 36, keyword_argument; 37, keyword_argument; 38, keyword_argument; 39, keyword_argument; 40, keyword_argument; 41, identifier:term; 42, identifier:term; 43, identifier:category; 44, identifier:category; 45, identifier:pages; 46, identifier:pages; 47, identifier:sort; 48, identifier:sort; 49, identifier:order; 50, identifier:order
code: def search(term, category=Categories.ALL, pages=1, sort=None, order=None):
  	"""Return a search result for term in category. Can also be
  		sorted and span multiple pages."""
  	s = Search()
  	s.search(term=term, category=category, pages=pages, sort=sort, order=order)
  	return s