Documentation ¶
Index ¶
- Variables
- func CheckSubgroups(table *[][]string, colGroup int, rowInfo int, rows int) bool
- func Contains(strings []string, s string) bool
- func DefaultParse(...) []models.Lesson
- func DefaultRegexpNumbersIndex(line string) []int
- func Exists(lessons *[]models.Lesson) int
- func FillingInOccurrenceLesson(flag bool, week string, someLesson models.Lesson, line string)
- func Fix(lesson models.Lesson) (lesson1, lesson2 models.Lesson)
- func FixSameSubjectParameters(subjects, typeOfLessons, teachersNames, cabinets *[]string)
- func GetCoords(table [][]string, group string) (a, b int)
- func GetGroup(table *[][]string, colGroup int, colInfo int, rowInfo int, rows int) models.Group
- func GetRows(table [][]string) int
- func GetTable(sheet xlsx.Sheet) [][]string
- func GroupCreate(groups *[]models.Group, table *[][]string, colGroup int, colInfo int, ...)
- func HasNextNumbers(line string) int
- func LessonToLessons(subject, typeOfLesson, teacherName, cabinet string) []models.Lesson
- func LongestString(s []string) string
- func NewLineSeparator(line string) []string
- func NumbersIndex(line string) []int
- func ParseMultiple(excelPaths []string) ([]models.Group, error)
- func RemoveElement(a *[]string, i int)
- func RemoveJunk(subject, typeOfLesson *string)
- func RemoveLastEmptyElement(array *[]string)
- func RepeatFunc(array *[]string)
- func SeparateCabinets(line string) []string
- func SeparateLessons(line string) []string
- func SeparateTeachers(line string) []string
- func SlashFix(lessons *[]string)
- func SlashManage(lessons, teachers, cabinets, types []string) ([]string, []string, []string, []string)
- func SliceSlashManage(i int, slice *[]string)
- func SubGroupParse(...) (resultLessons []models.Lesson)
- func SubgroupLessonParse(lesson *models.Lesson)
- func SubgroupLessonsSort(lessons *[]models.Lesson)
- func TruncateWeekNumbers(lesson string) string
Constants ¶
This section is empty.
Variables ¶
var CrutchRegexp1 = regexp.MustCompile(`,? *\d ?гр ?/ ?\d ?гр`)
CrutchRegexp1 регулярные выражения для отслеживания случаев с двумя подгруппами в 1 строке
var CrutchRegexp2 = regexp.MustCompile(`(([А-Яа-я] ?)*\(\d ?подгр\.?\)/?){2}`)
var CrutchRegexp3 = regexp.MustCompile(`[А-Яа-я,?. *]*\((\d,? ?-?)*нед\./(\d,? ?-?)*нед\. *- *подгр\.?\d\)`)
var CrutchRegexp3Mini = regexp.MustCompile(`(\d{1,2},?-?)* нед\.`)
var CrutchRegexp4 = regexp.MustCompile(`(\dгр\. *=? *(\d{1,2},?\.?)*н?\.?;?,? *)+[А-Яа-я ,-]*; *(\d{1,2},?)* *н\.?[А-Яа-я ,.]*`)
var CrutchRegexp4Normal = regexp.MustCompile(`(\d{1,2},?)+ *н\.?[А-Яа-я ,.]*$`) // нормальная часть 4-ого костыльного случая
var CrutchRegexp4Subgroup = regexp.MustCompile(`^(\dгр\. *=? *(\d{1,2},?\.?)*н?\.?;?,? *)+[А-Яа-я ,-]*`)
var CrutchRegexp5 = regexp.MustCompile(`(((\dгр\.? ?= ?(\d{1,2},?)*н\.);?,? ?){2}=?[А-Яа-я ]*;? ?){2}`)
var CrutchRegexp6 = regexp.MustCompile(`^(\dгр\.? *=? *(\d{1,2},?\.?)*н?\.?;?,? *){2}=?[А-Яа-я ,-]*`)
var CrutchRegexp6Mini = regexp.MustCompile(`\dгр\.? *=? *`)
var CrutchRegexp6Subgroup = regexp.MustCompile(`\dгр\.? *=? *(\d{1,2},? ?)*н?[.= ,;]*`)
var CrutchRegexp7 = regexp.MustCompile(`((\d{1,2},? ?)н ?- ?\d ?гр,? ?)+ *([А-Яа-я]* *)*`)
CrutchRegexp7 недели - гр1 недели - гр2 предмет
var CrutchRegexp7Mini = regexp.MustCompile(`\d *гр`)
var CrutchRegexp7Subgroup = regexp.MustCompile(`(\d{1,2},?)+ *н? *- *\d *гр,? *`)
var Digit = regexp.MustCompile(`\d`)
Digit регулярное выражение для цифры
var GlobalDayOfWeek string
var GlobalNumberLesson string
var GlobalWeek string
var GroupRegexp = regexp.MustCompile(`\d *гр\.?`)
GroupRegexp регулярное выражение для: 1 гр.
var Initials = regexp.MustCompile(`[А-Яа-я]* ([А-Я]\.){2}`)
Initials регулярное выражение для инициалов
var Space = regexp.MustCompile(` {2,}`)
Space регулярное выражение для >2 пробелов
var SubgroupNumber = 0
var (
SubgroupRegexp = regexp.MustCompile("[^А-Яа-я](п/гр|гр|подгр|подгруп|п/г|подгруппа)([^А-Яа-я]|$)")
)
var SubgroupRegexp0 = regexp.MustCompile(`[А-Яа-я,?. *]*\((\d ?(-|,)?)*нед\. *- *подгр\.\d\)`)
SubgroupRegexp0 предмет (недели - подгруппы цифра)
var SubgroupRegexp0Subgroup = regexp.MustCompile(` ?-+ ?подгр.?\d`)
var SubgroupRegexp1 = regexp.MustCompile(`^(кр\.? *)?(( *\d{1,2},?\w?)*( *н?\.?,? *-* *))([А-Яа-я]+ *-*,*\.* *)+(\(?\d\s*п/гр?\)?|\d ?гр ?$|\(?\d ?подгр\.? ?\)?$)`)
SubgroupRegexp1 недели предмет цифра подгруппа
var SubgroupRegexp1Subgroup = regexp.MustCompile(`[,. ]*\(?\d *(п/г|гр|подгр)\)?\.?`)
var SubgroupRegexp2 = regexp.MustCompile(`^\dгр\. ?(\d{1,2},?)+ ?н\.? *`)
SubgroupRegexp2 гр. недели предмет
var SubgroupRegexp2Subgroup = regexp.MustCompile(`\dгр\.? *`)
var SubgroupRegexp3 = regexp.MustCompile(`((\d{1,2},?\w?)*( *н?\.? *-* *))([А-Яа-я]+ *-*,*\.* *)+(\(?\d{1,2}-\d{1,2} *нед\.? ?\)? *)?(\(*(подгруппа|подгр) ?.? ?\d\)* ?$)`)
SubgroupRegexp3 недели предмет подгр цифра
var SubgroupRegexp3Subgroup = regexp.MustCompile(`\(?подгр(\.? *|уппа) *\d\)?`)
var SubgroupRegexp4 = regexp.MustCompile(`(\dгр\.? *=? *(\d{1,2},?\.?)*н?\.?;?,? *)+=?[А-Яа-я ,-]*`)
SubgroupRegexp4 гр1 = недели предмет
Functions ¶
func CheckSubgroups ¶
func DefaultParse ¶
func FixSameSubjectParameters ¶
func FixSameSubjectParameters(subjects, typeOfLessons, teachersNames, cabinets *[]string)
FixSameSubjectParameters Если в строках содержатся одинаковые предметы, то подтянуть из нужной строки вид занятия или кабинет или препода или задублировать последним найденным
func GroupCreate ¶
func HasNextNumbers ¶
func LessonToLessons ¶
LessonToLessons урок с несколькими предметами -> массив уроков
func LongestString ¶
LongestString Возвращает самую длинную строку
func NewLineSeparator ¶
func NumbersIndex ¶
func RemoveElement ¶
RemoveElement Удаляет элемент из среза строк по индексу
func RemoveJunk ¶
func RemoveJunk(subject, typeOfLesson *string)
func RemoveLastEmptyElement ¶
func RemoveLastEmptyElement(array *[]string)
RemoveLastEmptyElement Удаляет последний пустой элемент
func RepeatFunc ¶
func RepeatFunc(array *[]string)
RepeatFunc Заполнение пустых элементов (дублирование)
func SeparateCabinets ¶
func SeparateLessons ¶
func SeparateTeachers ¶
func SlashManage ¶
func SliceSlashManage ¶
func SubGroupParse ¶
func SubGroupParse(subject, typeOfLesson, teacherName, cabinet, dayOfWeek, numberLesson, week string) (resultLessons []models.Lesson)
SubGroupParse основная функция парса подгрупп
func SubgroupLessonParse ¶
SubgroupLessonParse в зависимости от номера группы переключает поле существования пары
func SubgroupLessonsSort ¶
SubgroupLessonsSort метод убирает подгруппы, использует обычный парс и добавляет номер подгруппы в предметы
func TruncateWeekNumbers ¶
Types ¶
This section is empty.