docs: def setup(self):
          """
          copies default stylesheets and javascript files if necessary, and
          appends them to the options
          """
  
          from javatools import cheetah
  
          options = self.options
          datadir = getattr(options, "html_copy_data", None)
  
          if getattr(options, "html_data_copied", False) or not datadir:
              # either already run by a parent report, or not supposed
              # to run at all.
              return
  
          # this is where we've installed the default media
          datasrc = join(cheetah.__path__[0], "data")
  
          # record the .js and .css content we copy
          javascripts = list()
          stylesheets = list()
  
          # copy the contents of our data source to datadir
          for _orig, copied in copydir(datasrc, datadir):
              if copied.endswith(".js"):
                  javascripts.append(copied)
              elif copied.endswith(".css"):
                  stylesheets.append(copied)
  
          javascripts.extend(getattr(options, "html_javascripts", tuple()))
          stylesheets.extend(getattr(options, "html_stylesheets", tuple()))
  
          options.html_javascripts = javascripts
          options.html_stylesheets = stylesheets
  
          # keep from copying again
          options.html_data_copied = True