2.3 KiB
2.3 KiB
Joint Teapot
A handy tool for TAs in JI to handle works through Gitea, Canvas, and JOJ. Joint is related to JI and also this tool which join websites together. Teapot means to hold Gitea, inspired by @nichujie.
This tool is still under heavy development. The docs may not be updated on time, and all the features are provided with the probability to change.
Getting Started
Setup venv (Optional)
python3 -m venv env # you only need to do that once
source env/Scripts/activate # each time when you need this venv
Install
pip3 install -e .
cp .env.example .env && vi .env # configure environment
joint-teapot --help
For developers
pip3 install -r requirements-dev.txt
pre-commit install
pytest -svv
Commands & Features
- archive-all-repos archive all repos in gitea organization
- check-issues check the existence of issue by title on gitea
- checkout-releases checkout git repo to git tag fetched from gitea by release name, with due date
- clone-all-repos clone all gitea repos to local
- close-all-issues close all issues and pull requests in gitea organization
- create-issues create issues on gitea
- create-personal-repos create personal repos on gitea for all canvas students
- create-teams create teams on gitea by canvas groups
- get-no-collaborator-repos list all repos with no collaborators
- get-public-keys list all public keys on gitea
- get-repos-status list status of all repos with conditions
- invite-to-teams invite all canvas students to gitea teams by team name
- prepare-assignment-dir prepare assignment dir from extracted canvas "Download Submissions" zip
- upload-assignment-grades upload assignment grades to canvas from grade file (GRADE.txt by default), read the first line as grade, the rest as comments
License
MIT