Improved importer
This commit is contained in:
parent
41062b3be5
commit
094fd51873
@ -25,6 +25,45 @@ func main() {
|
|||||||
|
|
||||||
// We use markdown, so replace <br/> with two line breaks.
|
// We use markdown, so replace <br/> with two line breaks.
|
||||||
character.Description = strings.Replace(character.Description, "<br/>", "\n\n", -1)
|
character.Description = strings.Replace(character.Description, "<br/>", "\n\n", -1)
|
||||||
|
|
||||||
|
// Parse attributes like these:
|
||||||
|
// - Position: Club Manager
|
||||||
|
// - Height: 162 cm (5' 4")
|
||||||
|
// - Weight: 48 kg (106 lb)
|
||||||
|
// - Birthday: November 24
|
||||||
|
// - Hair color: Brown
|
||||||
|
// - Eyes: Blue (anime), Green (manga)
|
||||||
|
|
||||||
|
lines := strings.Split(character.Description, "\n\n")
|
||||||
|
finalLines := make([]string, 0, len(lines))
|
||||||
|
|
||||||
|
for _, line := range lines {
|
||||||
|
originalLine := line
|
||||||
|
|
||||||
|
if strings.HasPrefix(line, "(") {
|
||||||
|
line = strings.TrimPrefix(line, "(")
|
||||||
|
line = strings.TrimSuffix(line, ")")
|
||||||
|
}
|
||||||
|
|
||||||
|
line = strings.TrimSpace(line)
|
||||||
|
|
||||||
|
colonPos := strings.Index(line, ":")
|
||||||
|
|
||||||
|
if colonPos == -1 || colonPos > 25 {
|
||||||
|
finalLines = append(finalLines, originalLine)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
key := line[:colonPos]
|
||||||
|
value := line[colonPos+1:]
|
||||||
|
|
||||||
|
value = strings.TrimSpace(value)
|
||||||
|
|
||||||
|
fmt.Println(color.CyanString(key), color.YellowString(value))
|
||||||
|
}
|
||||||
|
|
||||||
|
character.Description = strings.Join(finalLines, "\n\n")
|
||||||
|
character.Description = strings.Trim(character.Description, "\n\n")
|
||||||
character.Save()
|
character.Save()
|
||||||
|
|
||||||
fmt.Printf("%s %s %s\n", color.GreenString("✔"), character.ID, character.Name)
|
fmt.Printf("%s %s %s\n", color.GreenString("✔"), character.ID, character.Name)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user