code: def load_from_file(swag_path, swag_type='yml', root_path=None):
      
      if swag_type not in ('yaml', 'yml'):
          raise AttributeError("Currently only yaml or yml supported")
          # TODO: support JSON
  
      try:
          enc = detect_by_bom(swag_path)
          with codecs.open(swag_path, encoding=enc) as yaml_file:
              return yaml_file.read()
      except IOError:
          # not in the same dir, add dirname
          swag_path = os.path.join(
              root_path or os.path.dirname(__file__), swag_path
          )
          try:
              enc = detect_by_bom(swag_path)
              with codecs.open(swag_path, encoding=enc) as yaml_file:
                  return yaml_file.read()
          except IOError:  # pragma: no cover
              # if package dir
              # see https://github.com/rochacbruno/flasgger/pull/104
              # Still not able to reproduce this case
              # test are in examples/package_example
              # need more detail on how to reproduce IOError here
              swag_path = swag_path.replace("/", os.sep).replace("\\", os.sep)
              path = swag_path.replace(
                  (root_path or os.path.dirname(__file__)), ''
              ).split(os.sep)[1:]
              site_package = imp.find_module(path[0])[1]
              swag_path = os.path.join(site_package, os.sep.join(path[1:]))
              with open(swag_path) as yaml_file:
                  return yaml_file.read()
docs: Load specs from YAML file