nodes: 0, module; 1, function_definition; 2, function_name:dataset_list; 3, parameters; 4, block; 5, identifier:self; 6, default_parameter; 7, default_parameter; 8, default_parameter; 9, default_parameter; 10, default_parameter; 11, default_parameter; 12, default_parameter; 13, default_parameter; 14, default_parameter; 15, expression_statement; 16, expression_statement; 17, if_statement; 18, expression_statement; 19, if_statement; 20, expression_statement; 21, if_statement; 22, expression_statement; 23, if_statement; 24, if_statement; 25, expression_statement; 26, if_statement; 27, if_statement; 28, expression_statement; 29, return_statement; 30, identifier:sort_by; 31, None; 32, identifier:size; 33, None; 34, identifier:file_type; 35, None; 36, identifier:license_name; 37, None; 38, identifier:tag_ids; 39, None; 40, identifier:search; 41, None; 42, identifier:user; 43, None; 44, identifier:mine; 45, False; 46, identifier:page; 47, integer:1; 48, comment:""" return a list of datasets!
  
              Parameters
              ==========
              sort_by: how to sort the result, see valid_sort_bys for options
              size: the size of the dataset, see valid_sizes for string options
              file_type: the format, see valid_file_types for string options
              license_name: string descriptor for license, see valid_license_names
              tag_ids: tag identifiers to filter the search
              search: a search term to use (default is empty string)
              user: username to filter the search to
              mine: boolean if True, group is changed to "my" to return personal
              page: the page to return (default is 1)
          """; 49, assignment; 50, boolean_operator; 51, block; 52, assignment; 53, boolean_operator; 54, block; 55, assignment; 56, boolean_operator; 57, block; 58, assignment; 59, boolean_operator; 60, block; 61, comparison_operator:int(page) <= 0; 62, block; 63, assignment; 64, identifier:mine; 65, block; 66, identifier:user; 67, block; 68, assignment; 69, list_comprehension; 70, identifier:valid_sort_bys; 71, list; 72, identifier:sort_by; 73, comparison_operator:sort_by not in valid_sort_bys; 74, raise_statement; 75, identifier:valid_sizes; 76, list; 77, identifier:size; 78, comparison_operator:size not in valid_sizes; 79, raise_statement; 80, identifier:valid_file_types; 81, list; 82, identifier:file_type; 83, comparison_operator:file_type not in valid_file_types; 84, raise_statement; 85, identifier:valid_license_names; 86, list; 87, identifier:license_name; 88, comparison_operator:license_name not in valid_license_names; 89, raise_statement; 90, call; 91, integer:0; 92, raise_statement; 93, identifier:group; 94, string; 95, expression_statement; 96, if_statement; 97, expression_statement; 98, identifier:datasets_list_result; 99, call; 100, call; 101, for_in_clause; 102, string; 103, string; 104, string; 105, string; 106, string; 107, identifier:sort_by; 108, identifier:valid_sort_bys; 109, call; 110, string; 111, string; 112, string; 113, string; 114, identifier:size; 115, identifier:valid_sizes; 116, call; 117, string; 118, string; 119, string; 120, string; 121, string; 122, identifier:file_type; 123, identifier:valid_file_types; 124, call; 125, string; 126, string; 127, string; 128, string; 129, string; 130, identifier:license_name; 131, identifier:valid_license_names; 132, call; 133, identifier:int; 134, argument_list; 135, call; 136, string_content:public; 137, assignment; 138, identifier:user; 139, block; 140, assignment; 141, attribute; 142, argument_list; 143, identifier:Dataset; 144, argument_list; 145, identifier:d; 146, identifier:datasets_list_result; 147, string_content:hottest; 148, string_content:votes; 149, string_content:updated; 150, string_content:active; 151, string_content:published; 152, identifier:ValueError; 153, argument_list; 154, string_content:all; 155, string_content:small; 156, string_content:medium; 157, string_content:large; 158, identifier:ValueError; 159, argument_list; 160, string_content:all; 161, string_content:csv; 162, string_content:sqlite; 163, string_content:json; 164, string_content:bigQuery; 165, identifier:ValueError; 166, argument_list; 167, string_content:all; 168, string_content:cc; 169, string_content:gpl; 170, string_content:odb; 171, string_content:other; 172, identifier:ValueError; 173, argument_list; 174, identifier:page; 175, identifier:ValueError; 176, argument_list; 177, identifier:group; 178, string; 179, raise_statement; 180, identifier:group; 181, string; 182, identifier:self; 183, identifier:process_response; 184, call; 185, identifier:d; 186, binary_operator:'Invalid sort by specified. Valid options are ' +
                               str(valid_sort_bys); 187, binary_operator:'Invalid size specified. Valid options are ' +
                               str(valid_sizes); 188, binary_operator:'Invalid file type specified. Valid options are '
                               + str(valid_file_types); 189, binary_operator:'Invalid license specified. Valid options are ' +
                               str(valid_license_names); 190, string; 191, string_content:my; 192, call; 193, string_content:user; 194, attribute; 195, argument_list; 196, string; 197, call; 198, string; 199, call; 200, string; 201, call; 202, string; 203, call; 204, string_content:Page number must be >= 1; 205, identifier:ValueError; 206, argument_list; 207, identifier:self; 208, identifier:datasets_list_with_http_info; 209, keyword_argument; 210, keyword_argument; 211, keyword_argument; 212, keyword_argument; 213, keyword_argument; 214, keyword_argument; 215, keyword_argument; 216, keyword_argument; 217, keyword_argument; 218, string_content:Invalid sort by specified. Valid options are; 219, identifier:str; 220, argument_list; 221, string_content:Invalid size specified. Valid options are; 222, identifier:str; 223, argument_list; 224, string_content:Invalid file type specified. Valid options are; 225, identifier:str; 226, argument_list; 227, string_content:Invalid license specified. Valid options are; 228, identifier:str; 229, argument_list; 230, string; 231, identifier:group; 232, identifier:group; 233, identifier:sort_by; 234, boolean_operator; 235, identifier:size; 236, boolean_operator; 237, identifier:filetype; 238, boolean_operator; 239, identifier:license; 240, boolean_operator; 241, identifier:tagids; 242, boolean_operator; 243, identifier:search; 244, boolean_operator; 245, identifier:user; 246, boolean_operator; 247, identifier:page; 248, identifier:page; 249, identifier:valid_sort_bys; 250, identifier:valid_sizes; 251, identifier:valid_file_types; 252, identifier:valid_license_names; 253, string_content:Cannot specify both mine and a user; 254, identifier:sort_by; 255, string; 256, identifier:size; 257, string; 258, identifier:file_type; 259, string; 260, identifier:license_name; 261, string; 262, identifier:tag_ids; 263, string; 264, identifier:search; 265, string; 266, identifier:user; 267, string; 268, string_content:hottest; 269, string_content:all; 270, string_content:all; 271, string_content:all
code: def dataset_list(self,
                       sort_by=None,
                       size=None,
                       file_type=None,
                       license_name=None,
                       tag_ids=None,
                       search=None,
                       user=None,
                       mine=False,
                       page=1):
          """ return a list of datasets!
  
              Parameters
              ==========
              sort_by: how to sort the result, see valid_sort_bys for options
              size: the size of the dataset, see valid_sizes for string options
              file_type: the format, see valid_file_types for string options
              license_name: string descriptor for license, see valid_license_names
              tag_ids: tag identifiers to filter the search
              search: a search term to use (default is empty string)
              user: username to filter the search to
              mine: boolean if True, group is changed to "my" to return personal
              page: the page to return (default is 1)
          """
          valid_sort_bys = ['hottest', 'votes', 'updated', 'active', 'published']
          if sort_by and sort_by not in valid_sort_bys:
              raise ValueError('Invalid sort by specified. Valid options are ' +
                               str(valid_sort_bys))
  
          valid_sizes = ['all', 'small', 'medium', 'large']
          if size and size not in valid_sizes:
              raise ValueError('Invalid size specified. Valid options are ' +
                               str(valid_sizes))
  
          valid_file_types = ['all', 'csv', 'sqlite', 'json', 'bigQuery']
          if file_type and file_type not in valid_file_types:
              raise ValueError('Invalid file type specified. Valid options are '
                               + str(valid_file_types))
  
          valid_license_names = ['all', 'cc', 'gpl', 'odb', 'other']
          if license_name and license_name not in valid_license_names:
              raise ValueError('Invalid license specified. Valid options are ' +
                               str(valid_license_names))
  
          if int(page) <= 0:
              raise ValueError('Page number must be >= 1')
  
          group = 'public'
          if mine:
              group = 'my'
              if user:
                  raise ValueError('Cannot specify both mine and a user')
          if user:
              group = 'user'
  
          datasets_list_result = self.process_response(
              self.datasets_list_with_http_info(
                  group=group,
                  sort_by=sort_by or 'hottest',
                  size=size or 'all',
                  filetype=file_type or 'all',
                  license=license_name or 'all',
                  tagids=tag_ids or '',
                  search=search or '',
                  user=user or '',
                  page=page))
          return [Dataset(d) for d in datasets_list_result]