Joint-Teapot/README.md

2.3 KiB

Joint Teapot

Codacy Badge

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