Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make jobs feature check whether the user is actually enrolled in the course #18

Open
npaun opened this issue Jan 2, 2017 · 1 comment

Comments

@npaun
Copy link
Owner

npaun commented Jan 2, 2017

Issue:

Currently, mnvc provides a jobs feature, to allow for batch registration. Only courses remaining to be registered will be attempted on each iteration.

mnvc considers all 'registrable courses' to have been registered if no 'registration errors' occurred.

If a registration error, at the quick add/drop stage, only affects some courses, the entire batch will be considered a failure.

Using the require registrable courses option (-R), will prevent Minervac from attempting to register in courses when the process clearly won't succeed.

Even if this option is passed, Minerva could supply contradictory information leading to a quick add/drop error, causing the whole batch to fail.

Solution:

Minervac should check which courses have actually been registered for.

It could do this efficiently, by parsing the results of the quick add/drop request. This would however require parsing more Minerva GOOPML.

Another option would be to request a schedule and verify that the courses contained in it are what we expected. This would be more inefficient, but could reuse existing parsers. Perhaps it could be argued that this option is "safer" as it checks that everything seems normal about the user's registration in the course.

@npaun
Copy link
Owner Author

npaun commented Jan 2, 2017

If the user enters a course via some means other than the Minervaclient, checking the user schedule would also help repeated slamming.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant