2 files changed,
47 insertions(+),
17 deletions(-)
Author:
Oleksandr Smirnov
olexsmir@gmail.com
Committed at:
2025-04-29 23:28:15 +0300
Parent:
a1bddb6
jump to
| M | anki/anki.go |
| M | main.go |
M
anki/anki.go
··· 33 33 34 34 return res.Result, nil 35 35 } 36 + 37 +type ( 38 + NoteID int 39 + Note struct { 40 + DeckName string `json:"deckName"` 41 + ModelName string `json:"modelName"` 42 + Fields map[string]string `json:"fields"` 43 + } 44 + 45 + internalNote struct { 46 + Note Note `json:"note"` 47 + } 48 +) 49 + 50 +func (a *AnkiClient) AddNote(deckName, modelName string, fields map[string]string) (NoteID, error) { 51 + res, err := request[NoteID]("addNote", internalNote{Note{ 52 + DeckName: deckName, 53 + ModelName: modelName, 54 + Fields: fields, 55 + }}) 56 + if err != nil { 57 + return 0, err 58 + } 59 + 60 + return res.Result, nil 61 +}
M
main.go
··· 2 2 3 3 import ( 4 4 "log/slog" 5 - "os" 6 5 7 6 "github.com/olexsmir/anpi/anki" 8 - "github.com/olexsmir/anpi/parser" 9 7 ) 10 8 11 9 func main() { 12 10 anki := anki.NewAnkiClient() 13 11 14 - decks, err := anki.GetDeckNames() 15 - slog.Info("test deck names", "fields", decks, "err", err) 16 - 17 - fields, err := anki.GetModelFieldNames("Basic") 18 - slog.Info("test existent type", "fields", fields, "err", err) 19 - 20 - fieldsErr, err := anki.GetModelFieldNames("chicked jokey") 21 - slog.Info("test non-existent type", "fields", fieldsErr, "err", err) 22 - 23 - f, _ := os.ReadFile("test.yml") 24 - data, err := parser.Parse(f) 25 - slog.Info("parsing data", "err", err) 12 + nid, err := anki.AddNote("testing", "Basic", map[string]string{ 13 + "Front": "the thing", 14 + "Back": "asdfasfasdf", 15 + }) 16 + slog.Info("note added", "nid", nid, "err", err) 26 17 27 - lookup := "front" 28 - ankiField := data[1].FieldLookUp(lookup) 29 - slog.Info("looking up anki note field", "field", ankiField, "lookup", lookup) 18 + // decks, err := anki.GetDeckNames() 19 + // slog.Info("test deck names", "fields", decks, "err", err) 20 + // 21 + // fields, err := anki.GetModelFieldNames("Basic") 22 + // slog.Info("test existent type", "fields", fields, "err", err) 23 + // 24 + // fieldsErr, err := anki.GetModelFieldNames("chicked jokey") 25 + // slog.Info("test non-existent type", "fields", fieldsErr, "err", err) 26 + // 27 + // f, _ := os.ReadFile("test.yml") 28 + // data, err := parser.Parse(f) 29 + // slog.Info("parsing data", "err", err) 30 + // 31 + // lookup := "front" 32 + // ankiField := data[1].FieldLookUp(lookup) 33 + // slog.Info("looking up anki note field", "field", ankiField, "lookup", lookup) 30 34 31 35 // for _, deck := range data { 32 36 // fmt.Printf("\nDeck: %s\n", deck.Deck)