mirror of
https://github.com/rclone/rclone.git
synced 2025-12-11 22:14:05 +01:00
lsf: add metadata support with M flag
This commit is contained in:
@@ -7,6 +7,7 @@ import (
|
||||
"encoding/base64"
|
||||
"encoding/csv"
|
||||
"encoding/hex"
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"fmt"
|
||||
"io"
|
||||
@@ -2154,6 +2155,21 @@ func (l *ListFormat) AddMimeType() {
|
||||
})
|
||||
}
|
||||
|
||||
// AddMetadata adds file's Metadata to the output if known
|
||||
func (l *ListFormat) AddMetadata() {
|
||||
l.AppendOutput(func(entry *ListJSONItem) string {
|
||||
metadata := entry.Metadata
|
||||
if metadata == nil {
|
||||
metadata = make(fs.Metadata)
|
||||
}
|
||||
out, err := json.Marshal(metadata)
|
||||
if err != nil {
|
||||
return fmt.Sprintf("Failed to read metadata: %v", err.Error())
|
||||
}
|
||||
return string(out)
|
||||
})
|
||||
}
|
||||
|
||||
// AppendOutput adds string generated by specific function to printed output
|
||||
func (l *ListFormat) AppendOutput(functionToAppend func(item *ListJSONItem) string) {
|
||||
l.output = append(l.output, functionToAppend)
|
||||
|
||||
Reference in New Issue
Block a user