Add string methods

This commit is contained in:
THCFree 2024-10-11 17:48:31 +02:00
parent e9128d7b90
commit 8e9d5e90ba
2 changed files with 30 additions and 0 deletions

View File

@ -22,3 +22,13 @@ func ReadFileAndConvertToCollection(filePath string) (*NML, error) {
return &collection, nil return &collection, nil
} }
func CollectionFromString(content string) (*NML, error) {
// Unmarshal the XML content into the Collection struct
var collection NML
err := xml.Unmarshal([]byte(content), &collection)
if err != nil {
return nil, err
}
return &collection, nil
}

View File

@ -30,6 +30,22 @@ func ReadFileAndConvertToHistory(filePath string) (*NML, error) {
return nil, errors.New("file is not a history file") return nil, errors.New("file is not a history file")
} }
func HistoryFromString(content string) (*NML, error) {
// Unmarshal the XML content into the NML struct
var nml NML
err := xml.Unmarshal([]byte(content), &nml)
if err != nil {
return nil, err
}
// Check if the file is a history file based on the content
if IsHistoryString(content) {
return &nml, nil
}
return nil, errors.New("file is not a history file")
}
func IsHistoryFile(path string) bool { func IsHistoryFile(path string) bool {
content, err := os.ReadFile(path) content, err := os.ReadFile(path)
if err != nil { if err != nil {
@ -37,3 +53,7 @@ func IsHistoryFile(path string) bool {
} }
return strings.Contains(string(content), "HistoryData") return strings.Contains(string(content), "HistoryData")
} }
func IsHistoryString(content string) bool {
return strings.Contains(content, "HistoryData")
}