46 lines
1.5 KiB
Go
46 lines
1.5 KiB
Go
package main
|
||
|
||
import (
|
||
"fmt"
|
||
"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() {
|
||
fmt.Println("Загрузка вопросов для тестирования с сайта: https://digital.mchs.gov.ru/fgpn/simulator")
|
||
uidMchs, err := uuid.Parse(util.InputTerminal("Необходимо ввести UUID сессии для начала загрузки"))
|
||
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)
|
||
_, 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(".")
|
||
}
|
||
d := model.UnmarshalJSONToMTType(body)
|
||
_, err = f.WriteString(model.MTTypeToJSON(d) + "\n]")
|
||
util.Check(err, "")
|
||
fmt.Println("\nСохранение списка вопросов завершено в файле", filename+".json")
|
||
|
||
}
|