Browse Source

В описании работ, номер работ сделан числом

master
Krio 4 years ago
parent
commit
02abdbc3cb
  1. 20
      app/app.go
  2. 2
      labs/lab1/desc.json
  3. 2
      labs/lab10/desc.json
  4. 2
      labs/lab11/desc.json
  5. 2
      labs/lab12/desc.json
  6. 2
      labs/lab13/desc.json
  7. 2
      labs/lab14/desc.json
  8. 2
      labs/lab15/desc.json
  9. 2
      labs/lab2/desc.json
  10. 2
      labs/lab3/desc.json
  11. 2
      labs/lab4/desc.json
  12. 2
      labs/lab5/desc.json
  13. 2
      labs/lab6/desc.json
  14. 2
      labs/lab7/desc.json
  15. 2
      labs/lab8/desc.json
  16. 2
      labs/lab9/desc.json
  17. 2
      models/lab.go

20
app/app.go

@ -8,6 +8,7 @@ import (
"log" "log"
"net/http" "net/http"
"net/url" "net/url"
"strconv"
"git.atik.me/basicweb/models" "git.atik.me/basicweb/models"
) )
@ -15,7 +16,7 @@ import (
type App struct { type App struct {
LabsFS fs.FS LabsFS fs.FS
WebFS fs.FS WebFS fs.FS
Labs map[string]models.Lab Labs map[int]models.Lab
} }
func New(labsFS fs.FS, webFS fs.FS) App { func New(labsFS fs.FS, webFS fs.FS) App {
@ -50,17 +51,24 @@ func (a *App) LabPageHandler(writer http.ResponseWriter, request *http.Request)
return return
} }
number := parsedURL.Query().Get("number") strNumber := parsedURL.Query().Get("number")
if number == "" { if strNumber == "" {
writer.WriteHeader(http.StatusNotFound) writer.WriteHeader(http.StatusNotFound)
writer.Write([]byte("Не указан номер лабораторной работы!")) writer.Write([]byte("Не указан номер лабораторной работы!"))
return return
} }
number, err := strconv.Atoi(strNumber)
if err != nil {
writer.WriteHeader(http.StatusNotFound)
writer.Write([]byte("Некорректный номер лабораторной работы!"))
return
}
lab, ok := a.Labs[number] lab, ok := a.Labs[number]
if !ok || !lab.Complete { if !ok || !lab.Complete {
writer.WriteHeader(http.StatusNotFound) writer.WriteHeader(http.StatusNotFound)
writer.Write([]byte("Лаборатораня работа с номером " + number + " не найдена!")) writer.Write([]byte("Лаборатораня работа с номером " + strconv.Itoa(number) + " не найдена!"))
return return
} }
@ -69,9 +77,9 @@ func (a *App) LabPageHandler(writer http.ResponseWriter, request *http.Request)
} }
} }
func getLabsList(labsFS fs.FS) map[string]models.Lab { func getLabsList(labsFS fs.FS) map[int]models.Lab {
var result = make(map[string]models.Lab) var result = make(map[int]models.Lab)
folders, err := fs.ReadDir(labsFS, "labs") folders, err := fs.ReadDir(labsFS, "labs")
if err != nil { if err != nil {

2
labs/lab1/desc.json

@ -1,5 +1,5 @@
{ {
"number": "1", "number": 1,
"task": "Создайте функцию, которая принимает массив чисел arr и число n. Верните true, если сумма любых двух элементов равна заданному числу. В противном случае верните false.", "task": "Создайте функцию, которая принимает массив чисел arr и число n. Верните true, если сумма любых двух элементов равна заданному числу. В противном случае верните false.",
"vars": [ "vars": [
[ [

2
labs/lab10/desc.json

@ -1,5 +1,5 @@
{ {
"number": "10", "number": 10,
"task": "", "task": "",
"vars": [ "vars": [
[ [

2
labs/lab11/desc.json

@ -1,5 +1,5 @@
{ {
"number": "11", "number": 11,
"task": "", "task": "",
"vars": [ "vars": [
[ [

2
labs/lab12/desc.json

@ -1,5 +1,5 @@
{ {
"number": "12", "number": 12,
"task": "", "task": "",
"vars": [ "vars": [
[ [

2
labs/lab13/desc.json

@ -1,5 +1,5 @@
{ {
"number": "13", "number": 13,
"task": "", "task": "",
"vars": [ "vars": [
[ [

2
labs/lab14/desc.json

@ -1,5 +1,5 @@
{ {
"number": "14", "number": 14,
"task": "", "task": "",
"vars": [ "vars": [
[ [

2
labs/lab15/desc.json

@ -1,5 +1,5 @@
{ {
"number": "15", "number": 15,
"task": "", "task": "",
"vars": [ "vars": [
[ [

2
labs/lab2/desc.json

@ -1,5 +1,5 @@
{ {
"number": "2", "number": 2,
"task": "Подсчитайте общее количество массивов внутри данного массива. Т.к. конвертирование строки в многомерный массив, не самая тривиальная задача, то исходный массив задается внутри кода.\narr = [[1, 2, 3, [1, 2, 3]], [[[]]], 3]", "task": "Подсчитайте общее количество массивов внутри данного массива. Т.к. конвертирование строки в многомерный массив, не самая тривиальная задача, то исходный массив задается внутри кода.\narr = [[1, 2, 3, [1, 2, 3]], [[[]]], 3]",
"vars": [[]], "vars": [[]],
"complete": true "complete": true

2
labs/lab3/desc.json

@ -1,5 +1,5 @@
{ {
"number": "3", "number": 3,
"task": "Напишите функцию, которая меняет местами все слова в предложении, начинающиеся с определенной буквы.", "task": "Напишите функцию, которая меняет местами все слова в предложении, начинающиеся с определенной буквы.",
"vars": [ "vars": [
[ [

2
labs/lab4/desc.json

@ -1,5 +1,5 @@
{ {
"number": "4", "number": 4,
"task": "Создайте функцию, которая принимает число в качестве входных данных и возвращает true, если сумма ее цифр имеет ту же четность, что и все число. В противном случае верните false.", "task": "Создайте функцию, которая принимает число в качестве входных данных и возвращает true, если сумма ее цифр имеет ту же четность, что и все число. В противном случае верните false.",
"vars": [ "vars": [
[ [

2
labs/lab5/desc.json

@ -1,5 +1,5 @@
{ {
"number": "5", "number": 5,
"task": "Повторяющийся квадратный корень из числа - это количество раз, которое необходимо применить к функции извлечения квадратного корня, чтобы число было строго меньше 2. Для заданного целого числа вернуть повторяющийся квадратный корень. Вернуть «недействительно», если оно отрицательное.", "task": "Повторяющийся квадратный корень из числа - это количество раз, которое необходимо применить к функции извлечения квадратного корня, чтобы число было строго меньше 2. Для заданного целого числа вернуть повторяющийся квадратный корень. Вернуть «недействительно», если оно отрицательное.",
"vars": [ "vars": [
[ [

2
labs/lab6/desc.json

@ -1,5 +1,5 @@
{ {
"number": "6", "number": 6,
"task": "", "task": "",
"vars": [ "vars": [
[ [

2
labs/lab7/desc.json

@ -1,5 +1,5 @@
{ {
"number": "7", "number": 7,
"task": "", "task": "",
"vars": [ "vars": [
[ [

2
labs/lab8/desc.json

@ -1,5 +1,5 @@
{ {
"number": "8", "number": 8,
"task": "", "task": "",
"vars": [ "vars": [
[ [

2
labs/lab9/desc.json

@ -1,5 +1,5 @@
{ {
"number": "9", "number": 9,
"task": "", "task": "",
"vars": [ "vars": [
[ [

2
models/lab.go

@ -1,7 +1,7 @@
package models package models
type Lab struct { type Lab struct {
Number string Number int
Task string Task string
Vars [][]Var Vars [][]Var
ScriptPath string ScriptPath string

Loading…
Cancel
Save