code: def get(cls, *args, **kwargs):
          
  
          from indico_piwik.plugin import PiwikPlugin
  
          if not PiwikPlugin.settings.get('cache_enabled'):
              return cls(*args, **kwargs).to_serializable()
  
          cache = GenericCache('Piwik.Report')
          key = u'{}-{}-{}'.format(cls.__name__, args, kwargs)
  
          report = cache.get(key)
          if not report:
              report = cls(*args, **kwargs)
              cache.set(key, report, PiwikPlugin.settings.get('cache_ttl'))
          return report.to_serializable()
docs: Create and return a serializable Report object, retrieved from cache if possible