README edits & remove requirements.txt
This commit is contained in:
48
README.md
48
README.md
@@ -8,13 +8,13 @@ Blackboard Gradebook Organiser
|
||||
The submission files are organised per student, by extracting the student number from the submission file names and creating a directory per student. Compressed files are extracted into the student's directory, and any remaining individually submitted files are also moved into the student's directory. Student comments from the submissions are also extracted into a single text file for convenient access and review.
|
||||
Optionally, after organising a gradebook, you can inspect the submissions to detect duplicated files from different submissions/students by generating and comparing SHA256 hashes. See section [Inspect submissions](#inspect-submissions-mag) for details.
|
||||
|
||||
### Features
|
||||
### **Features**
|
||||
|
||||
- Extracts, and organises per student, the content of submitted compressed files with extensions: `.zip`, `.rar`, `.7z`
|
||||
|
||||
- Detects invalid/corrupt files
|
||||
|
||||
- Doesn't extract macOS system generated files (ignores directory `__MACOSX` inside the compressed file)
|
||||
- Doesn't extract macOS system generated files (ignores directory *__MACOSX* inside the compressed file)
|
||||
|
||||
- Deletes each compressed file after successful extraction into student directory
|
||||
|
||||
@@ -30,7 +30,7 @@ Optionally, after organising a gradebook, you can inspect the submissions to det
|
||||
|
||||
## Instructions
|
||||
|
||||
### Download gradebook
|
||||
### **Download gradebook**
|
||||
|
||||
1. Go to the course page on Blackboard
|
||||
|
||||
@@ -42,16 +42,18 @@ Optionally, after organising a gradebook, you can inspect the submissions to det
|
||||
|
||||
5. Wait for the generated download link to appear, and click to download
|
||||
|
||||
### Extract gradebook
|
||||
### **Extract gradebook**
|
||||
|
||||
Extract the downloaded gradebook in a new directory inside [*BB_gradebooks*](BB_gradebooks).
|
||||
|
||||
### Organise gradebook
|
||||
- e.g. for `AssignmentX` extract the gradebook in `BB_gradebooks\AssignmentX`
|
||||
|
||||
Before running the script for the first time, install the required packages:
|
||||
### **Organise gradebook**
|
||||
|
||||
Before running the script for the first time, install the required packages (*py7z*, *rarfile*):
|
||||
|
||||
```python
|
||||
python -m pip install -r requirements.txt
|
||||
python -m pip install py7zr rarfile
|
||||
```
|
||||
|
||||
Note: If running on Linux/Mac, you also need to have `unrar` installed in order to be able to extract *.rar* files.
|
||||
@@ -60,21 +62,30 @@ Note: If running on Linux/Mac, you also need to have `unrar` installed in order
|
||||
|
||||
- `brew install rar` for Mac
|
||||
|
||||
Run **`organise_gradebook.py`** and provide the name of the directory (from section ***Extract gradebook*** above) as an argument:
|
||||
|
||||
To organise the gradebook run **`organise_gradebook.py`** and provide the name of the directory with the *extracted* gradebook (from section *Extract gradebook* above) as an argument.
|
||||
|
||||
- e.g. for gradebook `AssignmentX` (in [*BB_gradebooks*](BB_gradebooks)/`AssignmentX`) run:
|
||||
|
||||
```python
|
||||
python organise_gradebook.py GRADEBOOK_DIR_NAME
|
||||
python organise_gradebook.py AssignmentX
|
||||
```
|
||||
|
||||
While running, the script displays on the terminal information and stats about the gradebook submissions and files.
|
||||
|
||||
### Post-run
|
||||
### **Post-run**
|
||||
|
||||
- All submission files can be found - organised in directories per student number - in directory [*BB_submissions*](BB_submissions), under the sub-directory named after the gradebook name provided when running the script
|
||||
|
||||
- e.g. `organise_gradebook.py AssignmentX` creates the directory `AssignmentX` inside [*BB_submissions*](BB_submissions)
|
||||
|
||||
- Each student directory contains the student's extracted and individually submitted files, and the text file generated by Blackboard with the submission (which also contains any comments left by the student)
|
||||
- Each student directory contains:
|
||||
|
||||
- the extracted files from the submitted `.zip`, `.rar`, `.7z`
|
||||
|
||||
- the individually submitted files
|
||||
|
||||
- the text file generated by Blackboard for the submission (which also contains any comments left by the student)
|
||||
|
||||
- All comments found in the gradebook are extracted in a text file in [*BB_submissions*](BB_submissions), with the gradebook name as prefix
|
||||
|
||||
@@ -84,9 +95,9 @@ While running, the script displays on the terminal information and stats about t
|
||||
|
||||
- Any invalid/corrupt compressed files are moved into folder `__BAD__` inside the gradebook directory
|
||||
|
||||
## Inspect submissions :mag:
|
||||
## **Inspect submissions** :mag:
|
||||
|
||||
### Information
|
||||
### **Information**
|
||||
|
||||
- Generates SHA256 hashes for each submitted file, and outputs list to CSV file
|
||||
|
||||
@@ -98,18 +109,21 @@ While running, the script displays on the terminal information and stats about t
|
||||
|
||||
- Further inspection and filtering needs to be done manually
|
||||
|
||||
### Usage
|
||||
### **Usage**
|
||||
|
||||
For this feature you also need to install the pandas package:
|
||||
For this feature you also need to install the *pandas* package:
|
||||
|
||||
```python
|
||||
python -m pip install pandas
|
||||
```
|
||||
|
||||
To inspect the submissions run:
|
||||
|
||||
To inspect the submissions run **`inspect_submissions.py`** and provide the name of the directory with the *organised* gradebook as an argument.
|
||||
|
||||
- e.g. for the organised gradebook `AssignmentX` (in [*BB_submissions*](BB_submissions)/`AssignmentX`) run:
|
||||
|
||||
```python
|
||||
python inspect_submissions.py GRADEBOOK_DIR_NAME
|
||||
python inspect_submissions.py AssignmentX
|
||||
```
|
||||
|
||||
**Note:** run ***after*** organising a gradebook with [*organise_gradebook.py*](organise_gradebook.py).
|
||||
|
||||
Reference in New Issue
Block a user