timetable-mgr/cif
Fred Boniface 60ed218f07
Go Test / test (push) Successful in 2m24s Details
Update CIF Conversion function to new ServiceDetail subdoc.
2024-04-22 10:58:00 +01:00
..
check.go Tidy logging in package cif and dbAccess/cif.go 2024-04-14 21:28:17 +01:00
constants.go Add LastUpdateType to CIF Metadata 2024-04-11 20:59:02 +01:00
convert.go Update CIF Conversion function to new ServiceDetail subdoc. 2024-04-22 10:58:00 +01:00
convert_test.go Writing full CIF data now works. Still need to work on updating CIF data. 2024-04-08 21:08:07 +01:00
helpers.go Improve timezone handling 2024-04-14 22:17:01 +01:00
helpers_test.go Improve timezone handling 2024-04-14 22:17:01 +01:00
metadata.go Add debug logging to metadata.go 2024-04-20 08:44:14 +01:00
metadata_test.go Add check for downloading old data. Prevent operating on old download 2024-04-19 20:38:11 +01:00
parse.go Update VSTP package to use processing from CIF package 2024-04-15 20:37:04 +01:00
process.go Update VSTP package to use processing from CIF package 2024-04-15 20:37:04 +01:00
readme.md Disable parsing of JSONAssociations as they are not currently used within OwlBoard 2024-04-10 21:47:08 +01:00
types.go Update VSTP package to use processing from CIF package 2024-04-15 20:37:04 +01:00
update.go Fix daily download logic to fetch previous days update, rather than todays which is not the correct file. 2024-04-20 08:50:08 +01:00

readme.md

package cif

This package follows a similar pattern to package corpus.

First, CheckCorpus() retreived cif metadata from the database and determines whether an update is required and what type of update.

Then, one of the update functions is called which run through the update process. There are two update types, 'full' and 'update'. A 'full' update drops the entire timetable collection and rebuilds with a full CIF download. 'update' downloads CIF updates from specified days and applies updates.

Downloads are handled by package nrod which returns an io.ReadCloser which is passed to the parsing function.

Currently the parsing function returns a parsedCif pointer, however this is using significant memory due to the size of a full CIF download (Often around 4.5GB). The intention is to instead use a worker pool to handle the data.