Exceptions

exception vitap_vtop_client.exceptions.exception.VitapVtopClientError(message, status_code=None)[source]

Bases: Exception

Base exception for all VITAP VTOP client errors.

Parameters:
  • message (str)

  • status_code (int | None)

exception vitap_vtop_client.exceptions.exception.VtopConnectionError(message, original_exception=None, status_code=None)[source]

Bases: VitapVtopClientError

Raised for network-related errors during VTOP communication.

Parameters:
  • message (str)

  • original_exception (RequestError | None)

  • status_code (int | None)

exception vitap_vtop_client.exceptions.exception.VtopLoginError(message, status_code=None)[source]

Bases: VitapVtopClientError

Raised when login fails due to invalid credentials, server-side validation, etc.

Parameters:
  • message (str)

  • status_code (int | None)

exception vitap_vtop_client.exceptions.exception.VtopAttendanceError(message, status_code=None)[source]

Bases: VitapVtopClientError

Raised when fetching attendance fails due to attendance parsing, invalid semSubId, server-side validation, etc.

Parameters:
  • message (str)

  • status_code (int | None)

exception vitap_vtop_client.exceptions.exception.VtopTimetableError(message, status_code=None)[source]

Bases: VitapVtopClientError

Raised when fetching timetable fails due to data parsing, invalid semSubId, server-side validation, etc.

Parameters:
  • message (str)

  • status_code (int | None)

exception vitap_vtop_client.exceptions.exception.VtopGradeHistoryError(message, status_code=None)[source]

Bases: VitapVtopClientError

Raised when fetching greades history fails due to data parsing, invalid semester id, server-side validation, etc.

Parameters:
  • message (str)

  • status_code (int | None)

exception vitap_vtop_client.exceptions.exception.VtopMentorError(message, status_code=None)[source]

Bases: VitapVtopClientError

Raised when fetching biometric fails due to data parsing, server-side validation, etc.

Parameters:
  • message (str)

  • status_code (int | None)

exception vitap_vtop_client.exceptions.exception.VtopBiometricError(message, status_code=None)[source]

Bases: VitapVtopClientError

Raised when fetching biometric fails due to data parsing, invalid date, server-side validation, etc.

Parameters:
  • message (str)

  • status_code (int | None)

exception vitap_vtop_client.exceptions.exception.VtopProfileError(message, status_code=None)[source]

Bases: VitapVtopClientError

Raised when fetching biometric fails due to data parsing, server-side validation, etc.

Parameters:
  • message (str)

  • status_code (int | None)

exception vitap_vtop_client.exceptions.exception.VtopExamScheduleError(message, status_code=None)[source]

Bases: VitapVtopClientError

Raised when fetching exam schedule fails due to data parsing, invalid semester id, server-side validation, etc.

Parameters:
  • message (str)

  • status_code (int | None)

exception vitap_vtop_client.exceptions.exception.VtopMarksError(message, status_code=None)[source]

Bases: VitapVtopClientError

Raised when fetching marks fails due to data parsing, invalid semester id, server-side validation, etc.

Parameters:
  • message (str)

  • status_code (int | None)

exception vitap_vtop_client.exceptions.exception.VtopGeneralOutingError(message, status_code=None)[source]

Bases: VitapVtopClientError

Raised when fetching/posting marks fails due to data parsing, invalid semester id, server-side validation, etc.

Parameters:
  • message (str)

  • status_code (int | None)

exception vitap_vtop_client.exceptions.exception.VtopWeekendOutingError(message, status_code=None)[source]

Bases: VitapVtopClientError

Raised when fetching/posting marks fails due to data parsing, invalid semester id, server-side validation, etc.

Parameters:
  • message (str)

  • status_code (int | None)

exception vitap_vtop_client.exceptions.exception.VtopCaptchaError(message, status_code=None)[source]

Bases: VtopLoginError

Raised for errors specifically related to CAPTCHA fetching.

Parameters:
  • message (str)

  • status_code (int | None)

exception vitap_vtop_client.exceptions.exception.VtopCaptchaSolvingError(message, status_code=None)[source]

Bases: VtopLoginError

Raised for errors specifically related to CAPTCHA solving.

Parameters:
  • message (str)

  • status_code (int | None)

exception vitap_vtop_client.exceptions.exception.VtopCsrfError(message, status_code=None)[source]

Bases: VtopLoginError

Raised for errors specifically related to CSRF scraping and fetching.

Parameters:
  • message (str)

  • status_code (int | None)

exception vitap_vtop_client.exceptions.exception.VtopLoginOtpRequiredError(message, status_code=None, csrf_token=None)[source]

Bases: VtopLoginError

Raised when VTOP requires an OTP to complete the login.

VTOP asks for an OTP after a period of inactivity or when the login originates from a new IP address. Credentials and captcha have already been accepted at this point; the caller must collect the OTP from the user and pass it to VtopClient.verify_login_otp.

Carries the CSRF token scraped from the OTP page, which is the token that must be submitted alongside the OTP.

Parameters:
  • message (str)

  • status_code (int | None)

  • csrf_token (str | None)

exception vitap_vtop_client.exceptions.exception.VtopLoginOtpIncorrectError(message, status_code=None)[source]

Bases: VtopLoginError

Raised when the submitted login OTP is rejected by VTOP.

Parameters:
  • message (str)

  • status_code (int | None)

exception vitap_vtop_client.exceptions.exception.VtopLoginOtpExpiredError(message, status_code=None)[source]

Bases: VtopLoginError

Raised when the submitted login OTP has expired and must be resent.

Parameters:
  • message (str)

  • status_code (int | None)

exception vitap_vtop_client.exceptions.exception.VtopDigitalAssignmentError(message, status_code=None)[source]

Bases: VitapVtopClientError

Raised for errors related to digital assignments.

Parameters:
  • message (str)

  • status_code (int | None)

exception vitap_vtop_client.exceptions.exception.VtopDigitalAssignmentFileNotFoundError(message, status_code=None)[source]

Bases: VtopDigitalAssignmentError

Raised when an assignment upload is attempted without file contents.

Parameters:
  • message (str)

  • status_code (int | None)

exception vitap_vtop_client.exceptions.exception.VtopDigitalAssignmentFileTypeNotSupportedError(message, status_code=None)[source]

Bases: VtopDigitalAssignmentError

Raised when the assignment file is not a type VTOP accepts.

Parameters:
  • message (str)

  • status_code (int | None)

exception vitap_vtop_client.exceptions.exception.VtopDigitalAssignmentFileSizeExceededError(message, status_code=None)[source]

Bases: VtopDigitalAssignmentError

Raised when the assignment file is larger than VTOP’s 4 MB limit.

Parameters:
  • message (str)

  • status_code (int | None)

exception vitap_vtop_client.exceptions.exception.VtopDigitalAssignmentUploadOtpRequiredError(message, status_code=None)[source]

Bases: VtopDigitalAssignmentError

Raised when VTOP holds an assignment upload pending OTP confirmation.

The file has been received but is not submitted until the OTP mailed to the student is passed to VtopClient.verify_assignment_upload_otp.

Parameters:
  • message (str)

  • status_code (int | None)

exception vitap_vtop_client.exceptions.exception.VtopDigitalAssignmentUploadOtpIncorrectError(message, status_code=None)[source]

Bases: VtopDigitalAssignmentError

Raised when the assignment upload OTP is rejected by VTOP.

Parameters:
  • message (str)

  • status_code (int | None)

exception vitap_vtop_client.exceptions.exception.VtopCalendarError(message, status_code=None)[source]

Bases: VitapVtopClientError

Raised for errors related to the academic calendar.

Parameters:
  • message (str)

  • status_code (int | None)

exception vitap_vtop_client.exceptions.exception.VtopMenuUnavailableError(message, status_code=None)[source]

Bases: VitapVtopClientError

Raised when VTOP rejects a request with its generic “menu not available” modal.

VTOP serves the same ~1KB fragment, with an HTTP 200, whether the request shape was wrong or the menu really is switched off. The response carries nothing that distinguishes them, so this error cannot say which it was – only that VTOP refused to answer.

Parameters:
  • message (str)

  • status_code (int | None)

exception vitap_vtop_client.exceptions.exception.VtopParsingError(message, status_code=None)[source]

Bases: VitapVtopClientError

Raised when data parsing fails unexpectedly (e.g., new HTML format).

Parameters:
  • message (str)

  • status_code (int | None)

exception vitap_vtop_client.exceptions.exception.VtopSessionError(message, status_code=None)[source]

Bases: VitapVtopClientError

Raised when an operation requires an active session but one is not available or valid.

Parameters:
  • message (str)

  • status_code (int | None)