docs: def get_context_from_gdoc(self):
          """
          Wrap getting context from Google sheets in a simple caching mechanism.
          """
          try:
              start = int(time.time())
              if not self.data or start > self.expires:
                  self.data = self._get_context_from_gdoc(self.project.SPREADSHEET_KEY)
                  end = int(time.time())
                  ttl = getattr(self.project, 'SPREADSHEET_CACHE_TTL',
                                SPREADSHEET_CACHE_TTL)
                  self.expires = end + ttl
              return self.data
          except AttributeError:
              return {}