Automate UCheck COVID-19 self-assessment form submission

Overview

pypiv pypipv

ucheck

Automate UCheck COVID-19 self-assessment form submission.

Disclaimer

  • ucheck automatically completes the University of Tornto's UCheck COVID-19 self-assessment form as follows:
    • YES: "Do any of the following statements apply to you? - I am fully vaccinated against COVID-19."
    • NO: "Are you currently experiencing any of these symptoms? - Fever and/or chills (Temperature of 37.8 degrees Celsius/100 degrees Fahrenheit or higher)."
    • NO: "Is anyone you live with currently experiencing any new COVID-19 symptoms and/or waiting for test results after experiencing symptoms?"
    • NO: "In the last 14 days, have you travelled outside of Canada and been told to quarantine (per the federal quarantine requirements)?"
    • NO: "Has a doctor, health care provider, or public health unit told you that you should currently be isolating (staying at home)?"
    • NO: "In the last 10 days, have you been identified as a "close contact" of someone who currently has COVID-19?"
    • NO: "In the last 14 days, have you received a COVID Alert exposure notification on your cell phone?"
    • NO: "In the last 10 days, have you tested positive on a rapid antigen test or home-based self-testing kit?"
  • If you do not satisfy these questions as listed, DO NOT use this library to complete your UCheck form. If you are interested in making these choices customizable, please raise an issue using the issues tracker.

Installation

$ pip install ucheck

Requirements and setup

This library uses Selenium to complete the UCheck form. If you are new to Selenium, it takes ~5 minutes to download and set up your browser driver. View how to download and configure a browser driver. If you are on a Mac, this Stackoverflow article may help you in allowing your OS to use Selenium without running into OS-related security issues.

ucheck is simple to use

import os
import time

from selenium.webdriver import Chrome
from selenium.webdriver.chrome.service import Service

from ucheck import UCheck

if __name__ == "__main__":
    # E.g., Save UTORid login and password as environment variables.
    utorid_login = os.environ["UTORID_USER"]
    utorid_pass = os.environ["UTORID_PASS"]
    with UCheck(Chrome, Service, driver_path="/opt/WebDriver/bin/chromedriver") as ucheck:
        ucheck.complete_ucheck(utorid_login, utorid_pass)
        # Briefly keep browser window open before closing.
        time.sleep(5)

Exceptions

Valid UTORid credentials are required to complete your UCheck form.

import os

from selenium.webdriver import Chrome
from selenium.webdriver.chrome.service import Service

from ucheck import UCheck
from ucheck.exceptions import InvalidUTORidLogin

if __name__ == "__main__":
    # Set invalid user login credentials.
    utorid_login = "invalid-login"
    utorid_pass = os.environ["UTORID_PASS"]
    with UCheck(Chrome, Service, driver_path="/opt/WebDriver/bin/chromedriver") as ucheck:
        try:
            ucheck.complete_ucheck(utorid_login, utorid_pass)
        except InvalidUTORidLogin as e:
            print(e)

Contribute

Support

If you are having issues or would like to propose a new feature, please use the issues tracker.

License

The project is licensed under the MIT license.

You might also like...
Python script to decode the EU Covid-19 vaccine certificate

vacdec Python script to decode the EU Covid-19 vaccine certificate This script takes an image with a QR code of a vaccine certificate as the parameter

A simple script & container to pull COVID data from covidlive.com.au and post a summary to a slack channel
A simple script & container to pull COVID data from covidlive.com.au and post a summary to a slack channel

CovidLive AU Summary Slackbot This bot is a very simple slackbot that pulls data, summarises and posts up to date AU COVID stats to a provided slack c

An open source API to validate the EU Covid Certificates / Green Certificates
An open source API to validate the EU Covid Certificates / Green Certificates

Open Covid Certificate Validator This an open source API to validate EU Digital COVID Certificates. It receives a COVID certificate and validates it u

Telegram bot for downloading covid-19 vaccine certificate

cowin-certificate-bot This is the source code of @cowincertbot, A telegram bot inspired by the whatsapp bot implementation of indian government for co

Want to get your driver's license? Can't get a appointment because of COVID? Well I got a solution for you.

NJDMV-appoitment-alert Want to get your driver's license? Can't get a appointment because of COVID? Well I got a solution for you. We'll get you one i

An analysis of the efficiency of the COVID-19 vaccine

VaccineEfficiency 💉 An analysis of the efficiency of the COVID-19 vaccine 3 Methods 1️⃣ Compare country's vaccination data to number of day- to-day c

Minimal API for the COVID Booking System of the Offices at the UniPD Math Dep

Simple and easy to use python BOT for the COVID registration booking system of the math department @ unipd (torre archimede). This API creates an interface with the official website, with more useful functionalities.

Chatbot construido com o framework Rasa para responder dúvidas referentes ao COVID-19.
Chatbot construido com o framework Rasa para responder dúvidas referentes ao COVID-19.

Racom Chatbot Chatbot construido com o framework Rasa. Como executar Necessário instalar Docker e Docker Compose. Para inicializar a aplicação, basta

Coronavirus whatsapp chatbot to give real time info on covid

Covy Developed a coronavirus whatsapp chatbot which gives case counts in a particular district, city, state or country. It also predicts future cases

Comments
  •  Ucheck questionnaire URL looks to be different for other UofT students

    Ucheck questionnaire URL looks to be different for other UofT students

    Just leaving a note in case people have the same issue. Was getting a chromedriver timeout error initially, but it stemmed from the ucheck questionnaire URL in the config.yaml file being different from mine.

    opened by stove-lab 3
  • add main.py

    add main.py

    Hey, nice project!

    From what I understand, to use this I need to clone the repo, and create a main.py with the contents of https://github.com/irahorecka/ucheck#ucheck-is-simple-to-use.

    Is there a reason this file isn't included in the repo by default?

    opened by platers 3
Owner
Ira Horecka
Ira Horecka
A discord self-bot to automate shitposting for your everyday needs.

Shitpost Selfbot A discord self-bot to automate shitposting for your everyday needs. Caution: May be a little racist. I have no clue where we are taki

stormy 1 Mar 31, 2022
A quick way to verify your Climate Hack.AI (2022) submission locally!

Climate Hack.AI (2022) Submission Validator This repository contains code that allows you to quickly validate your Climate Hack.AI (2022) submission l

Jeremy 3 Mar 3, 2022
Discord ToolBox is a discord bot developed by DJD320 created for the purpose of having some convenient tools in the form of a single bot.

Discord ToolBox Discord ToolBox is a discord bot developed by DJD320 created for the purpose of having some convenient tools in the form of a single b

null 3 Aug 7, 2021
trackbranch is a tool for developers that can be used to store collections of branches in the form of profiles.

trackbranch trackbranch is a tool for developers that can be used to store collections of branches in the form of profiles. This can be useful for sit

Kevin Morris 1 Oct 21, 2021
A github actions + python code to extract URLs to code repositories to put into standard form, starting with github

A github actions + python code to extract URLs to code repositories to put into standard form, starting with github ---- NOTE: JUS

Justin Gosses 2 Nov 15, 2021
A simple python script to send files into your telegram Bot form your PC, Server etc.

telegramSend A simple python script to send files into your telegram Bot form your PC, Server etc. How to Use Install requirements.txt pip3 install -r

Ajay Kumar Tekam 1 Jul 19, 2022
Tracker to check the covid shot slot availability in India and send mobile alerts via Twilio Messaging Service.

Cowin-Slot-Tracker Tracker to check the covid vaccine slot availability in India and send mobile notifications through Twilio Messaging Service. Requi

invalid username 27 Nov 12, 2022
Telegram Bot to check covid vaccine slot availability on CoWin site

Cowin Assist Telegram Bot Check the bot here @cowinassistbot. This is a simple Telegram bot to Check slots availability Get an alert when slots become

null 32 Jun 21, 2022
Bot per controllare la disponibilità di appuntamenti per la vaccinazione Covid-19 in Veneto

VaxBot9000 Prerequisites Python 3.9 Poetry latest version of geckodriver Firefox Setup poetry install Copy config.sample.toml to config.toml and edit

Augusto Zanellato 5 Jun 13, 2021
Light weight Scripts and Apps for checking availability of Covid Vaccines in India. Notifies when vaccine becomes avialable in your area.

vaccine-checker Light weight Scripts and Apps for checking availability of Covid Vaccines in India. Notifies when vaccine becomes avialable in your ar

Abishek V Ashok 8 Jun 16, 2021