Documentation ¶
Index ¶
- Constants
- func OrderMeetingsByDay(timetable []ProtonMeeting) [][][]ProtonMeeting
- func OrderMeetingsByWeek(timetable []ProtonMeeting) [][]ProtonMeeting
- func SaveConfig(protonConfig ProtonConfig) error
- type Proton
- type ProtonConfig
- type ProtonMeeting
- type ProtonObject
- type ProtonRule
- type TeacherTier
- type TierGradingList
Constants ¶
View Source
const DayObjectType = "Day"
View Source
const HourObjectType = "Hour"
View Source
const PROTON_ALLOWED_FAIL_RATE = 500
View Source
const PROTON_ALLOWED_FAIL_RESET_RATE = 200
View Source
const PROTON_ALLOWED_WHILE_DEPTH = 1000
View Source
const PROTON_MAX_AFTER_CLASS_HOUR = 12
View Source
const PROTON_MAX_NORMAL_HOUR = 7
View Source
const PROTON_MIN_AFTER_CLASS_HOUR = 9
View Source
const PROTON_MIN_NORMAL_HOUR = 1
View Source
const PROTON_REPEAT_POST_PROCESSING = 3 // Večja je številka, večja je možnost, da nastane boljši urnik, a bo več časa trajalo, da se urnik post-procesira
View Source
const ProtonConfigVersion = "1.0"
View Source
const SubjectObjectType = "Subject"
View Source
const TeacherObjectType = "Teacher"
Variables ¶
This section is empty.
Functions ¶
func OrderMeetingsByDay ¶
func OrderMeetingsByDay(timetable []ProtonMeeting) [][][]ProtonMeeting
func OrderMeetingsByWeek ¶
func OrderMeetingsByWeek(timetable []ProtonMeeting) [][]ProtonMeeting
func SaveConfig ¶
func SaveConfig(protonConfig ProtonConfig) error
Types ¶
type Proton ¶
type Proton interface { ManageAbsences(meetingId string) ([]TeacherTier, error) NewProtonRule(rule ProtonRule) error GetProtonConfig() ProtonConfig GetAllRulesForTeacher(teacherId string) []ProtonRule GetSubjectGroups() []ProtonRule SubjectHasDoubleHours(subjectId string) bool CheckIfProtonConfigIsOk(timetable []ProtonMeeting) (bool, error) TimetablePostProcessing(stableTimetable []ProtonMeeting, class sql.Class, cancelPostProcessingBeforeDone bool) ([]ProtonMeeting, error) PatchTheHoles(timetable []ProtonMeeting, fullTimetable []ProtonMeeting) ([]ProtonMeeting, []ProtonMeeting) GetSubjectsOfClass(timetable []ProtonMeeting, classStudents []string, class sql.Class) ([]ProtonMeeting, error) GetSubjectsBeforeOrAfterClass() []string GetSubjectsWithStackedHours() []string FindNonNormalHours(timetable []ProtonMeeting) []ProtonMeeting PostProcessHolesAndNonNormalHours(classTimetable []ProtonMeeting, stableTimetable []ProtonMeeting) ([]ProtonMeeting, []ProtonMeeting) FindHoles(timetable []ProtonMeeting) [][]ProtonMeeting FindRelationalHoles(timetable []ProtonMeeting) []ProtonMeeting SwapMeetings(timetable []ProtonMeeting, fullTimetable []ProtonMeeting) ([]ProtonMeeting, []ProtonMeeting) PatchMistakes(timetable []ProtonMeeting, fullTimetable []ProtonMeeting) ([]ProtonMeeting, []ProtonMeeting) AssembleMeetingsFromProtonMeetings(timetable []ProtonMeeting, systemConfig sql.Config) ([]sql.Meeting, error) FindIfHolesExist(timetable []ProtonMeeting) bool SaveConfig(config ProtonConfig) DeleteRule(ruleId string) }
type ProtonConfig ¶
type ProtonConfig struct { Version string `json:"version"` Rules []ProtonRule `json:"rules"` }
func AddNewRule ¶
func AddNewRule(protonConfig ProtonConfig, rule ProtonRule) (ProtonConfig, error)
func LoadConfig ¶
func LoadConfig() (config ProtonConfig, err error)
type ProtonMeeting ¶
type ProtonObject ¶
type ProtonRule ¶
type ProtonRule struct { Objects []ProtonObject `json:"objects"` RuleName string `json:"rule_name"` RuleType int `json:"rule_type"` ID string `json:"id"` }
type TeacherTier ¶
type TeacherTier struct { TeacherID string Tier int Name string GradingList TierGradingList }
Click to show internal directories.
Click to hide internal directories.