Repository navigation
Merge Comcigan + NEIS timetables; TimeforSchool naming - #14
Merged
Merged
Conversation
Port remaining neispy endpoints onto NeisClient and let GET /timetable switch with source=neis. NEIS leaves teacher names, bell times, and substitution originals blank because the Open API does not publish them. Co-authored-by: Injoon Oh <injoon5@icloud.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Comcigan stays the default source of truth (fresher updates, teachers, bell times, substitutions). NEIS fills that same response shape and leaves unpublished fields blank — Comcigan output is not stripped to match NEIS. Co-authored-by: Injoon Oh <injoon5@icloud.com>
source=auto (now the default) fetches both in parallel: shorter subject wins, weekday gaps fill from the other, cancelled Comcigan periods stay. NEIS Saturday is dropped — leftover 토요휴업일 is stale. Co-authored-by: Injoon Oh <injoon5@icloud.com>
TimeforSchool branding. Partial NEIS names 409 instead of rows[0]. Comcigan scrape lives in comcigan.ts; merge is comcigan/neis overlay. API deploys to icn1. No Effect — this is still a thin HTTP wrapper. Co-authored-by: Injoon Oh <injoon5@icloud.com>
양정고등학교 is Seoul and Busan. Name-only requests use NEIS order (서울 first) instead of SCHOOL_AMBIGUOUS. Co-authored-by: Injoon Oh <injoon5@icloud.com>
Ambiguous Comcigan school search was falling through to a NEIS-only timetable (blank teachers). Pin that to TIMETABLE_AMBIGUOUS_SCHOOL. Co-authored-by: Injoon Oh <injoon5@icloud.com>
injoon5
marked this pull request as ready for review
August 20, 2026 22:06
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Default
GET /timetableissource=auto: Comcigan + NEIS in parallel, then merge.Merge rules
토요휴업일)source=comciganorsource=neisfor one upstreamsource=autostill 409s if Comcigan’s search is ambiguous, even when NEIS succeededSchool identity
NEIS name lookup uses the first row NEIS returns.
양정고등학교→ Seoul (7010208), not 409. Passschoolcodeif you want Busan. Comcigan still 409s when its own search is ambiguous.API changes vs
mainNew
GET /timetable?source=—auto(default) |comcigan|neisfetchTimeTable({ source })— same defaultNEIS_UPSTREAM_ERROR(502) forNeisException/ unknownSCHUL_KND_SC_NM(was 500)Fields that can now be empty
Same JSON keys. Empty when Comcigan has nothing to overlay:
teacher""— NEIS does not publish teachersday_time[]— NEIS does not publish bell timesupdate_date""— NEIS omittedLOAD_DTMoriginalnullon NEIS-only periodsreplacedfalseon NEIS-only periodsBehavior that changed
여름방학NEIS_DATA_NOT_FOUND, not “school not found”. Official name용인한국외국어대학교부설고등학교/7531146.schoolname=외대부고still 404sGET /name:"TimeForSchool"→"TimeforSchool"TIMETABLE_SCHOOL_NOT_FOUNDmessage no longer says “Comcigan could not find…”TIMETABLE_INVALID_GRADE_CLASSdetailsnow includesourceClient (
@timeforschool/client)Neispy,NeispyOptionsfetchNeisTimeTable,pickSchoolRow,timetableKindFromSchool,isLegacyTimetable, timetable/major/classroom typesfetchTimeTablenow hits NEIS as well (passsource: "comcigan"for old behavior)Quality
TimeforSchool branding.
Neispyandrender.yamlgone. API onicn1. HTTP reuses oneNeisClient.