code: def data(self):
          
  
          if self.is_obsolete():
              data = self.get_data()
              for datum in data:
                  if 'published_parsed' in datum:
                      datum['published_parsed'] = \
                          self.parse_time(datum['published_parsed'])
  
              try:
                  dumped_data = json.dumps(data)
              except:
                  self.update_cache(data)
              else:
                  self.update_cache(dumped_data)
                  return data
  
          try:
              return json.loads(self.cache_data)
          except:
              return self.cache_data
  
          return self.get_data()
docs: load and cache data in json format