func createImages()

in dev/import-beats/images.go [35:80]


func createImages(beatDocsPath, modulePath string) (imageContentArray, error) {
	var images []imageContent

	moduleDocsPath := path.Join(modulePath, "_meta", "docs.asciidoc")
	moduleDocsFile, err := ioutil.ReadFile(moduleDocsPath)
	if err != nil && !os.IsNotExist(err) {
		return nil, errors.Wrapf(err, "reading module docs file failed (path: %s)", moduleDocsPath)
	} else if os.IsNotExist(err) {
		log.Printf("\tNo docs found (path: %s), skipped", moduleDocsPath)
	} else {
		log.Printf("\tDocs found (path: %s)", moduleDocsPath)
		images = append(images, extractImages(beatDocsPath, moduleDocsFile)...)
	}

	dataStreamDirs, err := ioutil.ReadDir(modulePath)
	if err != nil {
		return nil, errors.Wrapf(err, "cannot read module directory %s", modulePath)
	}

	for _, dataStreamDir := range dataStreamDirs {
		if !dataStreamDir.IsDir() {
			continue
		}
		dataStreamName := dataStreamDir.Name()

		if dataStreamName == "_meta" {
			continue
		}

		log.Printf("\t%s: data stream found", dataStreamName)

		dataStreamDocsPath := path.Join(modulePath, dataStreamName, "_meta", "docs.asciidoc")
		dataStreamDocsFile, err := ioutil.ReadFile(dataStreamDocsPath)
		if err != nil && !os.IsNotExist(err) {
			return nil, errors.Wrapf(err, "reading data stream docs file failed (path: %s)", dataStreamDocsPath)
		} else if os.IsNotExist(err) {
			log.Printf("\t%s: no docs found (path: %s), skipped", dataStreamName, dataStreamDocsPath)
			continue
		}

		log.Printf("\t%s: docs found (path: %s)", dataStreamName, dataStreamDocsPath)
		images = append(images, extractImages(beatDocsPath, dataStreamDocsFile)...)
	}

	return images, nil
}