2023-01-18 15:35:07 +02:00
|
|
|
|
package main
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"fmt"
|
2023-01-19 11:13:08 +02:00
|
|
|
|
"os"
|
2023-01-18 15:35:07 +02:00
|
|
|
|
|
|
|
|
|
"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")
|
2023-01-18 15:35:07 +02:00
|
|
|
|
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 < 520; i++ {
|
2023-01-18 15:35:07 +02:00
|
|
|
|
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-18 15:35:07 +02:00
|
|
|
|
}
|
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")
|
2023-01-18 15:35:07 +02:00
|
|
|
|
|
|
|
|
|
}
|