code: def scripts(cls, pkg, metadata, paths=[], **kwargs):
          
          for path in paths:
              try:
                  fP = pkg_resources.resource_filename(pkg, path)
              except ImportError:
                  cls.log.warning(
                      "No package called {}".format(pkg)
                  )
              else:
                  if not os.path.isfile(fP):
                      cls.log.warning(
                          "No script file at {}".format(os.path.join(*pkg.split(".") + [path]))
                      )
                  else:
                      yield cls(fP, metadata)
docs: This class method is the preferred way to create SceneScript objects.
  
          :param str pkg: The dotted name of the package containing the scripts.
          :param metadata: A mapping or data object. This parameter permits searching among
              scripts against particular criteria. Its use is application specific.
          :param list(str) paths: A sequence of file paths to the scripts relative to the package.
  
          You can satisfy all parameter requirements by passing in a
          :py:class:`~turberfield.dialogue.model.SceneScript.Folder` object
          like this::
  
              SceneScript.scripts(**folder._asdict())
  
          The method generates a sequence of
          :py:class:`~turberfield.dialogue.model.SceneScript` objects.