mchstest/cmd/mtdown/main.go

46 lines
1.5 KiB
Go
Raw Permalink Normal View History

package main
import (
"fmt"
2023-01-19 11:13:08 +02:00
"os"
"github.com/google/uuid"
"gitstore.ru/tolikproh/mchstest/internal/cnst"
"gitstore.ru/tolikproh/mchstest/internal/model"
"gitstore.ru/tolikproh/mchstest/pkg/util"
)
func main() {
2023-01-19 11:13:08 +02:00
fmt.Println("Загрузка вопросов для тестирования с сайта: https://digital.mchs.gov.ru/fgpn/simulator")
uidMchs, err := uuid.Parse(util.InputTerminal("Необходимо ввести UUID сессии для начала загрузки"))
2023-01-19 11:13:08 +02:00
util.Check(err, "ОШИБКА: формат UUID не верный. Зазрузка отменена.")
filename := util.InputTerminal("Введите имя файла для сохранения")
util.Check(err, "")
var rN model.ReqNull
var rA model.ReqAnswer
f, err := os.Create(filename + ".json")
util.Check(err, "")
defer f.Close()
body, err := util.ReqestToSiteJSON(rN, cnst.Url, uidMchs)
util.Check(err, "")
_, err = f.WriteString("[\n")
util.Check(err, "")
fmt.Print("Выполняется сохранение")
for i := 0; i < 572; i++ {
d := model.UnmarshalJSONToMTType(body)
2023-01-19 11:13:08 +02:00
_, err = f.WriteString(model.MTTypeToJSON(d) + ",\n")
util.Check(err, "")
rA.Answer = d.ValidAnswer
body, err = util.ReqestToSiteJSON(rA, cnst.Url, uidMchs)
util.Check(err, "")
fmt.Print(".")
}
2023-01-19 11:13:08 +02:00
d := model.UnmarshalJSONToMTType(body)
_, err = f.WriteString(model.MTTypeToJSON(d) + "\n]")
util.Check(err, "")
fmt.Println("\nСохранение списка вопросов завершено в файле", filename+".json")
}