excel

package
v0.0.0-...-0136d5f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 22, 2021 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var CrutchRegexp1 = regexp.MustCompile(`,? *\d ?гр ?/ ?\d ?гр`)

CrutchRegexp1 регулярные выражения для отслеживания случаев с двумя подгруппами в 1 строке

View Source
var CrutchRegexp2 = regexp.MustCompile(`(([А-Яа-я] ?)*\(\d ?подгр\.?\)/?){2}`)
View Source
var CrutchRegexp3 = regexp.MustCompile(`[А-Яа-я,?. *]*\((\d,? ?-?)*нед\./(\d,? ?-?)*нед\. *- *подгр\.?\d\)`)
View Source
var CrutchRegexp3Mini = regexp.MustCompile(`(\d{1,2},?-?)* нед\.`)
View Source
var CrutchRegexp4 = regexp.MustCompile(`(\dгр\. *=? *(\d{1,2},?\.?)*н?\.?;?,? *)+[А-Яа-я ,-]*; *(\d{1,2},?)* *н\.?[А-Яа-я ,.]*`)
View Source
var CrutchRegexp4Normal = regexp.MustCompile(`(\d{1,2},?)+ *н\.?[А-Яа-я ,.]*$`) // нормальная часть 4-ого костыльного случая
View Source
var CrutchRegexp4Subgroup = regexp.MustCompile(`^(\dгр\. *=? *(\d{1,2},?\.?)*н?\.?;?,? *)+[А-Яа-я ,-]*`)
View Source
var CrutchRegexp5 = regexp.MustCompile(`(((\dгр\.? ?= ?(\d{1,2},?)*н\.);?,? ?){2}=?[А-Яа-я ]*;? ?){2}`)
View Source
var CrutchRegexp6 = regexp.MustCompile(`^(\dгр\.? *=? *(\d{1,2},?\.?)*н?\.?;?,? *){2}=?[А-Яа-я ,-]*`)
View Source
var CrutchRegexp6Mini = regexp.MustCompile(`\dгр\.? *=? *`)
View Source
var CrutchRegexp6Subgroup = regexp.MustCompile(`\dгр\.? *=? *(\d{1,2},? ?)*н?[.= ,;]*`)
View Source
var CrutchRegexp7 = regexp.MustCompile(`((\d{1,2},? ?)н ?- ?\d ?гр,? ?)+ *([А-Яа-я]* *)*`)

CrutchRegexp7 недели - гр1 недели - гр2 предмет

View Source
var CrutchRegexp7Mini = regexp.MustCompile(`\d *гр`)
View Source
var CrutchRegexp7Subgroup = regexp.MustCompile(`(\d{1,2},?)+ *н? *- *\d *гр,? *`)
View Source
var Digit = regexp.MustCompile(`\d`)

Digit регулярное выражение для цифры

View Source
var GlobalDayOfWeek string
View Source
var GlobalNumberLesson string
View Source
var GlobalWeek string
View Source
var GroupRegexp = regexp.MustCompile(`\d *гр\.?`)

GroupRegexp регулярное выражение для: 1 гр.

View Source
var Initials = regexp.MustCompile(`[А-Яа-я]* ([А-Я]\.){2}`)

Initials регулярное выражение для инициалов

View Source
var Space = regexp.MustCompile(` {2,}`)

Space регулярное выражение для >2 пробелов

View Source
var SubgroupNumber = 0
View Source
var (
	SubgroupRegexp = regexp.MustCompile("[^А-Яа-я](п/гр|гр|подгр|подгруп|п/г|подгруппа)([^А-Яа-я]|$)")
)
View Source
var SubgroupRegexp0 = regexp.MustCompile(`[А-Яа-я,?. *]*\((\d ?(-|,)?)*нед\. *- *подгр\.\d\)`)

SubgroupRegexp0 предмет (недели - подгруппы цифра)

View Source
var SubgroupRegexp0Subgroup = regexp.MustCompile(` ?-+ ?подгр.?\d`)
View Source
var SubgroupRegexp1 = regexp.MustCompile(`^(кр\.? *)?(( *\d{1,2},?\w?)*( *н?\.?,? *-* *))([А-Яа-я]+ *-*,*\.* *)+(\(?\d\s*п/гр?\)?|\d ?гр ?$|\(?\d ?подгр\.? ?\)?$)`)

SubgroupRegexp1 недели предмет цифра подгруппа

View Source
var SubgroupRegexp1Subgroup = regexp.MustCompile(`[,. ]*\(?\d *(п/г|гр|подгр)\)?\.?`)
View Source
var SubgroupRegexp2 = regexp.MustCompile(`^\dгр\. ?(\d{1,2},?)+ ?н\.? *`)

SubgroupRegexp2 гр. недели предмет

View Source
var SubgroupRegexp2Subgroup = regexp.MustCompile(`\dгр\.? *`)
View Source
var SubgroupRegexp3 = regexp.MustCompile(`((\d{1,2},?\w?)*( *н?\.? *-* *))([А-Яа-я]+ *-*,*\.* *)+(\(?\d{1,2}-\d{1,2} *нед\.? ?\)? *)?(\(*(подгруппа|подгр) ?.? ?\d\)* ?$)`)

SubgroupRegexp3 недели предмет подгр цифра

View Source
var SubgroupRegexp3Subgroup = regexp.MustCompile(`\(?подгр(\.? *|уппа) *\d\)?`)
View Source
var SubgroupRegexp4 = regexp.MustCompile(`(\dгр\.? *=? *(\d{1,2},?\.?)*н?\.?;?,? *)+=?[А-Яа-я ,-]*`)

SubgroupRegexp4 гр1 = недели предмет

Functions

func CheckSubgroups

func CheckSubgroups(table *[][]string, colGroup int, rowInfo int, rows int) bool

func Contains

func Contains(strings []string, s string) bool

func DefaultParse

func DefaultParse(subject, typeOfLesson, teacherName, cabinet, dayOfWeek, numberLesson, week string) []models.Lesson

func DefaultRegexpNumbersIndex

func DefaultRegexpNumbersIndex(line string) []int

func Exists

func Exists(lessons *[]models.Lesson) int

func FillingInOccurrenceLesson

func FillingInOccurrenceLesson(flag bool, week string, someLesson models.Lesson, line string)

func Fix

func Fix(lesson models.Lesson) (lesson1, lesson2 models.Lesson)

Fix разделение предметов, которые содержат сразу 2 подгруппы :(

func FixSameSubjectParameters

func FixSameSubjectParameters(subjects, typeOfLessons, teachersNames, cabinets *[]string)

FixSameSubjectParameters Если в строках содержатся одинаковые предметы, то подтянуть из нужной строки вид занятия или кабинет или препода или задублировать последним найденным

func GetCoords

func GetCoords(table [][]string, group string) (a, b int)

func GetGroup

func GetGroup(table *[][]string, colGroup int, colInfo int, rowInfo int, rows int) models.Group

func GetRows

func GetRows(table [][]string) int

func GetTable

func GetTable(sheet xlsx.Sheet) [][]string

func GroupCreate

func GroupCreate(groups *[]models.Group, table *[][]string, colGroup int, colInfo int, rowInfo int, rows int, subgroup int, groupName string)

func HasNextNumbers

func HasNextNumbers(line string) int

func LessonToLessons

func LessonToLessons(subject, typeOfLesson, teacherName, cabinet string) []models.Lesson

LessonToLessons урок с несколькими предметами -> массив уроков

func LongestString

func LongestString(s []string) string

LongestString Возвращает самую длинную строку

func NewLineSeparator

func NewLineSeparator(line string) []string

func NumbersIndex

func NumbersIndex(line string) []int

func ParseMultiple

func ParseMultiple(excelPaths []string) ([]models.Group, error)

func RemoveElement

func RemoveElement(a *[]string, i int)

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 SeparateCabinets(line string) []string

func SeparateLessons

func SeparateLessons(line string) []string

func SeparateTeachers

func SeparateTeachers(line string) []string

func SlashFix

func SlashFix(lessons *[]string)

func SlashManage

func SlashManage(lessons, teachers, cabinets, types []string) ([]string, []string, []string, []string)

func SliceSlashManage

func SliceSlashManage(i int, slice *[]string)

func SubGroupParse

func SubGroupParse(subject, typeOfLesson, teacherName, cabinet, dayOfWeek, numberLesson, week string) (resultLessons []models.Lesson)

SubGroupParse основная функция парса подгрупп

func SubgroupLessonParse

func SubgroupLessonParse(lesson *models.Lesson)

SubgroupLessonParse в зависимости от номера группы переключает поле существования пары

func SubgroupLessonsSort

func SubgroupLessonsSort(lessons *[]models.Lesson)

SubgroupLessonsSort метод убирает подгруппы, использует обычный парс и добавляет номер подгруппы в предметы

func TruncateWeekNumbers

func TruncateWeekNumbers(lesson string) string

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL