A program to schedu to Hebrew University Panopto with Google forms
The panopto UI is not really good with scheduling recordings, so this program was built to help with that.
There is a Google form, which you can state course id, year, semester, hall, name of the lecture and if it is repetetive lecture. Once filled, the program will automatically collect your answer, and schedule upon your request.
It will search the correct folder in the panopto folder structure, will add full date at its name, and schedule to panopto.
At the end of the proccess, the schedule will be logged in a log file, and it will send you an email with all the details about the recording.
If the scheduling was failed for some reason (for instance there is already a class in the hall in the same time), it will send an email with the reason it failed.
When choosing that the class is reptitive, it will schedule every week until the semester ends.
Use Python 3.8, and run
pip install -r requirements.txt
- Sign in to the Panopto web site as Administarator
- Click the System icon at the left-bottom corner.
- Click API Clients
- Click New
- Enter arbitrary Client Name
- Select Server-side Web Application type.
- Enter https://localhost into CORS Origin URL.
- Enter http://localhost:9127/redirect into Redirect URL.
- The rest can be blank. Click "Create API Client" button.
- Note the created Client ID and Client Secret.
The client id and client secret are necessary. If you provide only them, all the database will be migrated. You can add course id, year, semseter. In this case only what you entered will be migrated. In addition, you can add folder id. In this case, what you ask to upload will be uploaded to this specific panopto folder id.
In order to run, run with shell, or with Pycharm with those arguments:
scheduler.py --client-id <panopto client id> --client-secret <panopto client secret> --user <email username> --password <email password> --google-json <path to client secret in sheets>```
Email and password currently support outlook only, and this argument is optional.
Logins will not be saved or used for any purpose.
The program will run constantly, and will search for new results from the Google form.
<!-- LICENSE -->
## License
Distributed under the MIT License. See `LICENSE` for more information.
<!-- CONTACT -->
## Contact
Ilan Erukhimovich - [email protected]