eecs485staff / agio-cli

A command line interface to autograder.io
MIT License
1 stars 0 forks source link

Default Term edge cases #33

Open japplefield opened 2 years ago

japplefield commented 2 years ago

As mentioned in #32, the support for empty, "cur", and "current" semester designations that defaults to the current term ignores an edge case when the Fall term starts at the end of August.

japplefield commented 2 years ago

We experienced this issue today, since Fall term has started but it is August 31st. The default term fails because there is no eecs485su22. We could adjust the behavior to be "current or latest", such that today (8/31) -c eecs485 matches to eecs485f22 since there is no eecs485su22 and eecs485f22 is the latest (or highest PK), but then the incorrect course would be selected if eecs485su22 did exist, but we wanted eecs485f22 to be selected

awdeorio commented 2 years ago

We could adjust the behavior to be "current or latest"

This might make sense

MattyMay commented 1 year ago

This is annoying! I think we should do one or both of the following:

  1. Add "latest" as a semester designation, and maybe make it the default. For 485 staff wanting to pull submissions, this would be sufficient and is an easy fix. Unless there are use cases that I'm not thinking of, this could even just replace the "current" designation.
  2. Make "current" more sophisticated and actually compare the current date with UM's calendar. This would be more work.
japplefield commented 1 year ago

Add "latest" as a semester designation, and maybe make it the default.

Quick fix but if the next term autograder gets added before the current term is over this breaks.

Better solution could be just making the "boundaries" of a term correspond to a day in a month instead of just a month. You don't need to sync with UM if you just hardcode reasonable dates e.g. August 25 or something as start of fall.

awdeorio commented 1 year ago

Better solution could be just making the "boundaries" of a term correspond to a day in a month instead of just a month. You don't need to sync with UM if you just hardcode reasonable dates e.g. August 25 or something as start of fall.

I like it! I think this is where the code change would need to happen. https://github.com/eecs485staff/agio-cli/blob/develop/agiocli/utils.py#L97