mirror of
https://github.com/davidallendj/magellan.git
synced 2025-12-20 03:27:03 -07:00
Add support for storage command and crawler output
Partially addresses issue #3 by adding a simple `magellan list devices` command to list storage devices. To close the issue, this PR still requires including storage device information in the `crawler`'s output. Reviewed-on: towk/magellan-ng#5
This commit is contained in:
parent
d236649b05
commit
b2111ddcb2
20 changed files with 450 additions and 18 deletions
|
|
@ -1,6 +1,8 @@
|
|||
package util
|
||||
|
||||
import "fmt"
|
||||
import (
|
||||
"fmt"
|
||||
)
|
||||
|
||||
// FormatErrorList() is a wrapper function that unifies error list formatting
|
||||
// and makes printing error lists consistent.
|
||||
|
|
|
|||
25
internal/util/print.go
Normal file
25
internal/util/print.go
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
package util
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
|
||||
"github.com/rs/zerolog/log"
|
||||
"gopkg.in/yaml.v2"
|
||||
)
|
||||
|
||||
func PrintJSON(data any) {
|
||||
b, err := json.MarshalIndent(data, "", " ")
|
||||
if err != nil {
|
||||
log.Error().Err(err).Msgf("failed to marshal scanned results to JSON")
|
||||
}
|
||||
fmt.Println(string(b))
|
||||
}
|
||||
|
||||
func PrintYAML(data any) {
|
||||
b, err := yaml.Marshal(data)
|
||||
if err != nil {
|
||||
log.Error().Err(err).Msgf("failed to marshal scanned results to JSON")
|
||||
}
|
||||
fmt.Printf("%s\n", string(b))
|
||||
}
|
||||
10
internal/util/strings.go
Normal file
10
internal/util/strings.go
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
package util
|
||||
|
||||
import "strings"
|
||||
|
||||
func TidyJSON(s string) string {
|
||||
s = strings.ReplaceAll(s, "\n", "")
|
||||
s = strings.ReplaceAll(s, "\t", "")
|
||||
s = strings.ReplaceAll(s, " ", "")
|
||||
return strings.ReplaceAll(s, "\"", "'")
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue