feat(GODT-3121): minimalist CLI tool to test KB suggestions.

This commit is contained in:
Xavier Michelon 2023-12-06 19:25:23 +01:00
parent 83935f3a03
commit 76087f1749
1 changed files with 54 additions and 0 deletions

View File

@ -0,0 +1,54 @@
// Copyright (c) 2023 Proton AG
//
// This file is part of Proton Mail Bridge.
//
// Proton Mail Bridge is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Proton Mail Bridge is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Proton Mail Bridge. If not, see <https://www.gnu.org/licenses/>.
package main
import (
"bufio"
"fmt"
"os"
"github.com/ProtonMail/proton-bridge/v3/internal/kb"
)
func checkErrors(err error) {
if err != nil {
_, _ = fmt.Fprintf(os.Stderr, "%v\n", err)
os.Exit(1)
}
}
func main() {
var input string
fmt.Print("Type your input: ")
buffer := bufio.NewReader(os.Stdin)
input, err := buffer.ReadString('\n')
checkErrors(err)
suggestions, err := kb.GetSuggestions(input)
checkErrors(err)
if len(suggestions) == 0 {
fmt.Println("No suggestions found")
return
}
for _, suggestion := range suggestions {
fmt.Printf("Score %v: %v (%v)\n", suggestion.Score, suggestion.Title, suggestion.URL)
}
}