forked from JOJ/Joint-Teapot
		
	
		
			
				
	
	
		
			54 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # Joint Teapot
 | |
| 
 | |
| [](https://app.codacy.com/gh/BoYanZh/Joint-Teapot?utm_source=github.com&utm_medium=referral&utm_content=BoYanZh/Joint-Teapot&utm_campaign=Badge_Grade_Settings)
 | |
| 
 | |
| A handy tool for TAs in JI to handle works through [Gitea](https://focs.ji.sjtu.edu.cn/git/), [Canvas](https://umjicanvas.com/), and [JOJ](https://joj.sjtu.edu.cn/). Joint is related to JI and also this tool which join websites together. Teapot means to hold Gitea, inspired by [@nichujie](https://github.com/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)
 | |
| 
 | |
| ```bash
 | |
| python3 -m venv env # you only need to do that once
 | |
| source env/Scripts/activate # each time when you need this venv
 | |
| ```
 | |
| 
 | |
| ### Install
 | |
| 
 | |
| ```bash
 | |
| pip3 install -e .
 | |
| cp .env.example .env && vi .env # configure environment
 | |
| joint-teapot --help
 | |
| ```
 | |
| 
 | |
| ### For developers
 | |
| 
 | |
| ```bash
 | |
| 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
 |