sustech ra work record
Project description
SUSTech Work Record Generator (sustech-rawr)
A Python tool that automatically generates work record tables for Southern University of Science and Technology (SUSTech), with intelligent holiday detection and standard Excel format output.
Features
- 🎯 Automatic Excel Generation: Creates work record tables in standard format
- 📅 Smart Holiday Detection: Automatically identifies Chinese public holidays, weekends, and compensatory work days
- ⚡ Concurrent Processing: Uses multi-threading for fast holiday data retrieval
- 🎨 Professional Formatting: Includes standard fonts, borders, alignment, and cell merging
- 💻 Command Line Interface: Simple and easy-to-use CLI tool
Usage
Command Line Usage
uvx sustech-rawr -n "张三" -w "数据库" -y 2025 -m 8
Parameters
| Parameter | Short | Required | Default | Description |
|---|---|---|---|---|
--name |
-n |
✅ | None | Visitor name |
--work |
-w |
✅ | None | Work content description |
--year |
-y |
✅ | 2025 | Year |
--month |
-m |
✅ | 7 | Month |
--time |
-t |
❌ | 9:00-18:00 | Working hours |
--output |
-o |
❌ | {name}{year}{month}.xlsx | Output filename |
Output File Format
The generated Excel file contains:
- Title: Work Record Table
- Headers: Date, Visitor Name, Working Hours (Daily Sign), Work Content, Visitor Confirmation (Daily Sign), Teacher Confirmation Signature
- Data Rows:
- Working days: Shows specific work information
- Holidays: Automatically filled with "/"
- Formatting: Professional fonts, borders, alignment, and cell merging
Project Structure
sustechRAWR/
├── src/
│ └── sustechra_record/
│ ├── __init__.py
│ └── main.py # Main program file
├── pyproject.toml # Project configuration
├── uv.lock # Dependency lock file
└── README.md # Project documentation
Dependencies
- get-holiday-cn: Chinese holiday query library
- openpyxl: Excel file manipulation
- requests: HTTP request library
Development
Local Development Environment Setup
# Clone the project
git clone https://github.com/huanglune/sustechRAWR.git
cd sustechRAWR
# sync the requirments
uv sync
uv run src/sustech_rawr/main.py -n ...
Code Structure
Main functional modules:
main(): Core business logic, handles date and holiday datadraw_excel(): Excel file generation and formattingrun(): Command line interface handling
Key Features
1. Smart Holiday Detection
- Automatically identifies statutory holidays
- Recognizes weekends
- Handles compensatory work days
2. Concurrent Optimization
- Uses thread pool for concurrent holiday data retrieval
- Improves processing speed for longer months (31 days)
3. Professional Formatting
- Complies with official document requirements
- Automatically adjusts column widths and row heights
- Standard Chinese font settings
License
This project uses a standard open source license.
Contributing
Issues and Pull Requests are welcome to improve this project!
Note: This tool is specifically designed for SUSTech work record tables, and the generated table format meets the relevant requirements.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sustech_rawr-1.0.5.tar.gz.
File metadata
- Download URL: sustech_rawr-1.0.5.tar.gz
- Upload date:
- Size: 8.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.20
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8f5b59a029f74060d81ce121c9dc2e149ffd2a007cce00037f13fc9c119edbe4
|
|
| MD5 |
7257e7452d08639dd60476d5b4b454a4
|
|
| BLAKE2b-256 |
6a2602346d557e0045b284c031a1ad63b5e3ce1ec06a53fe914d782130c44f73
|
File details
Details for the file sustech_rawr-1.0.5-py3-none-any.whl.
File metadata
- Download URL: sustech_rawr-1.0.5-py3-none-any.whl
- Upload date:
- Size: 9.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.20
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e91d061f46123a1e378ed607d8f9ba4518cbeec2279b269a8b1266e92b069567
|
|
| MD5 |
90f6a8b3511f75f7f1d7bb63e995e979
|
|
| BLAKE2b-256 |
52076b9bd5daeaefe132fbac4e5fa868ce00f64ebb5a9803a2777771b6b01152
|