A handy tool for TAs in JI to handle works through Gitea, Canvas, and JOJ. https://boyanzh.github.io/Joint-Teapot/
Go to file
2022-05-07 14:31:21 +08:00
.github/workflows docs: add mkdocs 2021-06-10 23:50:48 +08:00
docs docs: very simple doc 2021-10-13 02:58:50 +08:00
examples feat: joj worker 2021-12-22 23:05:10 +08:00
joint_teapot feat: raise exception on unsupported language for joj 2022-05-07 14:31:21 +08:00
.env.example feat: better logs 2021-09-15 04:00:23 +08:00
.gitattributes chore: fix typo & requirements & misc 2022-03-14 13:04:54 +08:00
.gitignore feat: cli with typer 2021-06-10 23:39:29 +08:00
.pre-commit-config.yaml feat: raise exception on unsupported language for joj 2022-05-07 14:31:21 +08:00
LICENSE feat: init 2021-06-09 20:55:50 +08:00
mkdocs.yml docs: add mkdocs 2021-06-10 23:50:48 +08:00
mypy.ini feat: init 2021-06-09 20:55:50 +08:00
pytest.ini feat: init 2021-06-09 20:55:50 +08:00
README.md docs: reformat commands 2022-03-14 13:09:31 +08:00
requirements-dev.txt feat: init 2021-06-09 20:55:50 +08:00
requirements.txt chore: fix typo & requirements & misc 2022-03-14 13:04:54 +08:00
setup.py feat: better extract assignment 2021-11-06 18:31:25 +08:00

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