code: def list_tickets(self, **kwargs):
          
  
          filter_name = 'new_and_my_open'
          if 'filter_name' in kwargs:
              filter_name = kwargs['filter_name']
              del kwargs['filter_name']
  
          url = 'tickets'
          if filter_name is not None:
              url += '?filter=%s&' % filter_name
          else:
              url += '?'
          page = 1 if not 'page' in kwargs else kwargs['page']
          per_page = 100 if not 'per_page' in kwargs else kwargs['per_page']
          tickets = []
  
          # Skip pagination by looping over each page and adding tickets if 'page' key is not in kwargs.
          # else return the requested page and break the loop
          while True:
              this_page = self._api._get(url + 'page=%d&per_page=%d'
                                         % (page, per_page), kwargs)
              tickets += this_page
              if len(this_page) < per_page or 'page' in kwargs:
                  break
              page += 1
  
          return [Ticket(**t) for t in tickets]
docs: List all tickets, optionally filtered by a view. Specify filters as
          keyword arguments, such as:
  
          filter_name = one of ['new_and_my_open', 'watching', 'spam', 'deleted',
                                None]
              (defaults to 'new_and_my_open')
              Passing None means that no named filter will be passed to
              Freshdesk, which mimics the behavior of the 'all_tickets' filter
              in v1 of the API.
  
          Multiple filters are AND'd together.