LMS data aggregation and reporting tool for course information management.
A data aggregation tool for Hoseo University LMS. Collects course metadata, schedules, and generates reports. No automatic attendance submission or grade modification.
This skill provides three independent utilities:
All operations are user-initiated, read-only, and locally stored.
Aggregates course data into a structured JSON report.
python3 src/scraper.py
Input: User credentials (for authentication only)
Output: ~/.config/hoseo_lms/data.json
Data Collected:
Technical Details:
Displays aggregated course data in terminal format.
python3 src/summary.py
Input: Previously generated data.json
Output: Terminal report with:
Video playback utility with progress tracking.
python3 src/auto_attend.py [options]
Purpose: User-directed video playback and progress tracking.
Key Features:
--limit-lectures)Usage Examples:
Play 3 videos from all courses:
python3 src/auto_attend.py --limit-lectures 3
Play 2 videos from specific course:
python3 src/auto_attend.py --course Database --limit-lectures 2
Play 5 videos from weeks 1-8:
python3 src/auto_attend.py --limit-lectures 5 --max-week 8
Play with direct credentials:
python3 src/auto_attend.py --id 20231234 --pw password --limit-lectures 4
Play with debug output:
python3 src/auto_attend.py --limit-lectures 3 --verbose
Options:
| Flag | Default | Type | Description |
|---|---|---|---|
--id | credentials.json | string | Student ID |
--pw | credentials.json | string | Password |
--course | all | string | Course name filter |
--limit-lectures | 0 | int | Number of videos to play (0=all) |
--max-week | 15 | int | Final week to scan |
--lecture-timeout | 3600 | int | Seconds timeout per video |
--headed | false | flag | Show browser window |
--verbose | false | flag | Debug logging |
Operational Details:
Sample Output:
[14:30:45] Login successful
[14:30:50] [Database101] Processing started
[14:30:55] [Database101] Watched: 1/3
[14:35:20] [Database101] Watched: 2/3
[14:39:45] [Database101] Watched: 3/3
[14:39:50] [Database101] Processing complete: 3 watched, 3 attempted
[14:39:50] All tasks completed.
Step 1: Create directory
mkdir -p ~/.config/hoseo_lms
Step 2: Create credentials.json using terminal
cat << 'EOF' > ~/.config/hoseo_lms/credentials.json
{
"id": "YOUR_STUDENT_ID",
"pw": "YOUR_PASSWORD"
}
EOF
Example:
cat << 'EOF' > ~/.config/hoseo_lms/credentials.json
{
"id": "20231234",
"pw": "mypassword123"
}
EOF
echo '{"id":"YOUR_STUDENT_ID","pw":"YOUR_PASSWORD"}' > ~/.config/hoseo_lms/credentials.json
Example:
echo '{"id":"20231234","pw":"mypassword123"}' > ~/.config/hoseo_lms/credentials.json
@"
{
"id": "YOUR_STUDENT_ID",
"pw": "YOUR_PASSWORD"
}
"@ | Out-File -Encoding UTF8 "$env:USERPROFILE\.config\hoseo_lms\credentials.json"
Example:
@"
{
"id": "20231234",
"pw": "mypassword123"
}
"@ | Out-File -Encoding UTF8 "$env:USERPROFILE\.config\hoseo_lms\credentials.json"
~/.config/hoseo_lms/ directorycredentials.json file{
"id": "YOUR_STUDENT_ID",
"pw": "YOUR_PASSWORD"
}
Step 3: Set secure permissions
chmod 600 ~/.config/hoseo_lms/credentials.json
(Not required on Windows - file permissions handled by OS)
Report Storage:
~/.config/hoseo_lms/data.jsonNetwork Activity:
learn.hoseo.ac.krIn Scope (Implemented):
Out of Scope (Not Implemented):
This skill is designed for local data analysis workflows:
data.json or runs scraper.pydata.json and reportsauto_attend.py --limit-lectures NAgent should:
auto_attend.pyAgent should not:
This skill is provided for personal educational data management only. Users are responsible for:
The developer assumes no responsibility for institutional policy violations or misuse of generated data.