No description
All checks were successful
Build Debian Package / build-deb (push) Successful in 2m11s
|
||
---|---|---|
.forgejo/workflows | ||
examples/reports | ||
reportmonster | ||
.gitignore | ||
LICENSE | ||
pyproject.toml | ||
README.md | ||
renovate.json | ||
setup.py | ||
stdeb.cfg |
ReportMonster
A tool for reporting and management of Moodle instances through direct database access.
Installation
pip install reportmonster
Quick Start
- Create a configuration file (settings.ini):
[Vessel moodle1]
Host = 10.0.0.1
Username = moodle_user
Password = password
Database = moodle
SSH = 0
[Vessel moodle2]
Host = 10.0.0.2
Username = moodle_user
Password = password
Database = moodle
SSH = 1
SSHUsername = ssh_user
SSHPassword = ssh_password
- Run a built-in report:
reportmonster run course_enrollment_counts --config settings.ini
- Create custom reports in a directory and run them:
reportmonster run my_custom_report --config settings.ini --report-path /path/to/custom/reports
Features
- Connect to multiple Moodle instances
- Generate reports on users, courses, and enrollments
- Support for SSH tunneling for secure connections
- Extensible report system
Creating Custom Reports
Custom reports can be created by extending the BaseReport class:
from reportmonster.reports.base import BaseReport
class MyCustomReport(BaseReport):
def run(self):
self.logger.info("Running my custom report")
# Your report logic here
def run(config, args):
report = MyCustomReport(config, args)
report.run()
License
This project is licensed under the MIT License - see the LICENSE file for details.