code: def done(self, key):
          '''
          return True iff key is marked done.
  
          :param key: a json-serializable object.
          '''
          # key is not done b/c the file does not even exist yet
          if not os.path.exists(self.path):
              return False
  
          is_done = False
          done_line = self._done_line(key)
          undone_line = self._undone_line(key)
          with open(self.path) as fh:
              for line in fh:
                  if line == done_line:
                      is_done = True
                  elif line == undone_line:
                      is_done = False
  
          return is_donf done(self, key):
          '''
          return True iff key is marked done.
  
          :param key: a json-serializable object.
          '''
          # key is not done b/c the file does not even exist yet
          if not os.path.exists(self.path):
              return False
  
          is_done = False
          done_line = self._done_line(key)
          undone_line = self._undone_line(key)
          with open(self.path) as fh:
              for line in fh:
                  if line == done_line:
                      is_done = True
                  elif line == undone_line:
                      is_done = False
  
          return is_done
docs: return True iff key is marked done.
  
          :param key: a json-serializable object.