docs: def get_note_list(self, data=True, since=None, tags=[]):
          """ Method to get the note list
  
          The method can be passed optional arguments to limit the list to
          notes containing a certain tag, or only updated since a certain
          Simperium cursor. If omitted a list of all notes is returned.
  
          By default data objects are returned. If data is set to false only
          keys/ids and versions are returned. An empty data object is inserted
          for compatibility.
  
          Arguments:
              - tags=[] list of tags as string: return notes that have
                at least one of these tags
              - since=cursor Simperium cursor as string: return only changes
                since this cursor
              - data=True If false only return keys/ids and versions
  
          Returns:
              A tuple `(notes, status)`
  
              - notes (list): A list of note objects with all properties set except
              `content`.
              - status (int): 0 on success and -1 otherwise
  
          """
          # initialize data
          status = 0
          ret = []
          response_notes = {}
          notes = { "index" : [] }
  
          # get the note index
          params = '/index?limit=%s' % (str(NOTE_FETCH_LENGTH))
  
          if since is not None:
              params += '&since=%s' % (since)
          # Fetching data is the default
          if data:
              params += '&data=true'
  
          # perform initial HTTP request
          request = Request(DATA_URL+params)
          request.add_header(self.header, self.get_token())
          try:
              response = urllib2.urlopen(request)
              response_notes = json.loads(response.read().decode('utf-8'))
              # re-write for v1 consistency
              note_objects = []
              for n in response_notes["index"]:
                  # If data=False then can't do this bit... or not all of it, just have id and version. Add empty data object.
                  if not data:
                      n['d'] = {}
                  note_object = self.__add_simplenote_api_fields(n['d'], n['id'], n['v'])
                  note_objects.append(note_object)
              notes["index"].extend(note_objects)
          except HTTPError as e:
              if e.code == 401:
                  raise SimplenoteLoginFailed('Login to Simplenote API failed! Check Token.')
              else:
                  return e, -1
          except IOError as e:
              return e, -1
  
          # get additional notes if bookmark was set in response
          while "mark" in response_notes:
              params += '&mark=%s' % response_notes["mark"]
  
              # perform the actual HTTP request
              request = Request(DATA_URL+params)
              request.add_header(self.header, self.get_token())
              try:
                  response = urllib2.urlopen(request)
                  response_notes = json.loads(response.read().decode('utf-8'))
                  # re-write for v1 consistency
                  note_objects = []
                  for n in response_notes["index"]:
                      if not data:
                          n['d'] = {}
                      note_object = n['d']
                      note_object = self.__add_simplenote_api_fields(n['d'], n['id'], n['v'])
                      note_objects.append(note_object)
                  notes["index"].extend(note_objects)
              except HTTPError as e:
                  if e.code == 401:
                      raise SimplenoteLoginFailed('Login to Simplenote API failed! Check Token.')
                  else:
                      return e, -1
              except IOError as e:
                  return e, -1
          note_list = notes["index"]
          self.current = response_notes["current"]
          # Can only filter for tags at end, once all notes have been retrieved.
          if (len(tags) > 0):
              note_list = [n for n in note_list if (len(set(n["tags"]).intersection(tags)) > 0)]
          return note_list, status