Commit Graph

281 Commits

Author SHA1 Message Date
5053decd1a Separate term reload logic, bump interval to 24h 2024-02-16 17:04:38 -06:00
470415cc70 Add page number option to terms command, add comma printing to terms 2024-02-16 17:04:18 -06:00
7ce28b9f4a Specify 'offset' as page number in GetTerms() definition 2024-02-16 17:03:23 -06:00
d22b3a30a3 Fix partial code range specifier, use proper open ended max, add additional range checks/validation 2024-02-16 15:54:28 -06:00
3d82514cb2 Improve embed response helpers 2024-02-16 15:54:01 -06:00
5c4a8c0db0 Trim raw string code value, check length of 2nd group before Atoi 2024-02-16 15:14:33 -06:00
07b3146868 Increase course title option length, increase min code length 2024-02-16 15:12:21 -06:00
e084927b48 Use embed for respond error, with red color 2024-02-16 14:59:33 -06:00
951b123772 Switch code option to string 2024-02-16 14:45:23 -06:00
cd19f2cdf3 Implement course code range option (minus #xxx parsing) 2024-02-16 13:26:14 -06:00
85a3696631 Add CPU/Memory profiling flags 2024-02-13 10:44:42 -06:00
e6283aefae Close response body I/O properly 2024-02-13 00:44:19 -06:00
783d5fccf8 Finish proper term archival check func 2024-02-02 14:04:56 -06:00
5140aa708b Make slope calculation part of baseExpiry
I realized that archived classes would have unusually low expiry times without the multiplier in plce
Also changed the IsViewOnlyTerm func name, new term "Archive" for this
2024-02-01 15:21:26 -06:00
b9ff35b711 Improve CalculateExpiry with Slope-based duration calculation
- Remove ICS NewCalendar() func
- TODO IsViewOnlyTerm
2024-02-01 15:15:16 -06:00
9885c202ae Change identification, GCal link generation 2024-02-01 15:13:54 -06:00
e339064a83 Add special non-fatal handling for non-meeting courses 2024-02-01 04:08:56 -06:00
391d782801 README command idea, multi-meeting time analysis 2024-02-01 04:08:32 -06:00
0b12e717b6 Fix ICS command formatting 2024-02-01 03:35:38 -06:00
cce0267855 Fix 0 class majors being scraped repeatedly 2024-01-31 23:55:09 -06:00
0b676ed66d Get rid of intermediary expiry check, retrieve all keys in one command 2024-01-31 23:38:04 -06:00
8a773c8c70 Add stop signal details to log 2024-01-31 18:59:13 -06:00
a2ccef6d48 Continue tuning log messages in scrape 2024-01-31 18:56:22 -06:00
a9603ba562 Continue improving scraping logic, expiry calculations, split into different functions 2024-01-31 18:50:38 -06:00
1252e75c8a Add stack tracing to logger, use Stack on all fatal/error logs 2024-01-31 17:59:01 -06:00
9344f1c365 Add EncodeParams function with docs from net/url, multi-line log, generalize GetUsername into GetUser 2024-01-31 16:33:03 -06:00
80a513184b SessionID questions in README 2024-01-31 16:32:16 -06:00
dbbc55376a Don't raise fatally on failed scrapes 2024-01-31 13:47:27 -06:00
5db0919956 Use extension map instead of switch case, improve contength parsing, func docs 2024-01-30 22:20:09 -06:00
a1b6fa9a01 Fix scraping check function 2024-01-30 22:14:14 -06:00
9cc0311164 Fix content length parsing, use header only 2024-01-30 20:44:53 -06:00
b35c952fbc Incrase scrape expiry time, make variable percentages function properly 2024-01-30 20:18:52 -06:00
8e956e8e67 Query stringification for logs, improve scrape failure logs with query data, better log messages 2024-01-30 20:18:38 -06:00
4ac28bd210 Course retrieval from redis, setup ICS command data with course detailsl 2024-01-30 15:27:56 -06:00
3ec5644345 Spelling mistakes 2024-01-30 12:49:41 -06:00
63922b7ea1 Increase general expiry time (1h per 200 classes), decrease priority time (33%) boost 2024-01-30 12:47:05 -06:00
000eab55b9 Make scrape periodic + goroutine-based 2024-01-30 12:40:14 -06:00
a2affb1dd4 Update scraping section in README 2024-01-29 15:56:24 -06:00
2783162b2b Setup expiry time on major scrape, improve logs, use ResetDataForm(), fix query 2024-01-29 15:56:13 -06:00
a785196437 Add ResetDataForm() api call 2024-01-29 15:55:25 -06:00
7e3e0be0aa Add binary marshal for Redis on Course struct 2024-01-29 15:55:14 -06:00
eee298ced6 Scraping conditional check, implement full scraping into Redis 2024-01-29 14:54:08 -06:00
ae8a413f72 Rate limiting/costs/bursting section in README 2024-01-29 14:49:55 -06:00
10634c1210 Spelling, separate Course struct from SearchResults
Separating the course struct will be useful for storing classes by CRN later on
2024-01-29 14:13:36 -06:00
56aad066f5 Setup base scrapign structure 2024-01-29 14:13:00 -06:00
1d99dd26a7 Use common pair struct, switch to Pair except for BannerTerm/Instructor, error wrapping, io err handling 2024-01-29 05:58:28 -06:00
a8d383706e Finish remaining API functions, add documentation, wrap with fmt.Errorf, offset checks 2024-01-29 05:44:28 -06:00
93c2e515e4 Finish GetInstructors, wrap some errors, setup TODO markers for all funcs 2024-01-29 05:29:29 -06:00
281944546f Encapsulate default term selection into term.go 2024-01-29 05:28:50 -06:00
c5ad772ebc Mispelling in README 2024-01-29 05:11:57 -06:00