mirror of
https://github.com/MatMasIt/moodlefuse.git
synced 2025-06-26 15:24:06 +02:00
First commit
This commit is contained in:
53
README.md
Normal file
53
README.md
Normal file
@ -0,0 +1,53 @@
|
||||
# moodlefuse - FUSE filesystem for Moodle
|
||||
|
||||
This is a FUSE filesystem for Moodle. It allows you to mount your Moodle site as a filesystem and access your Moodle files as if they were local files.
|
||||
|
||||
It is a concept that has been around for a while, but I have not found any implementations that I could get to work, or that were not abandoned.
|
||||
This is my attempt at creating one.
|
||||
|
||||
## Installation
|
||||
|
||||
First, you need to create a `.env` file with the following variables:
|
||||
|
||||
```bash
|
||||
SITE=https://moodle.example.com
|
||||
MOODLE_USERNAME=yourusername
|
||||
PASSWORD=yourpassword
|
||||
MOUNT=/path/to/mountpoint
|
||||
```
|
||||
|
||||
Then, just run the python script with the requirements installed. You can use a virtual environment if you want.
|
||||
|
||||
```bash
|
||||
pip install -r requirements.txt
|
||||
python moodlefuse.py
|
||||
```
|
||||
|
||||
This only works on Linux, as it uses FUSE. I have not tested it on Mac, but it could work there too.
|
||||
|
||||
|
||||
### Requirements
|
||||
|
||||
* Python 3.6 or newer
|
||||
* [fusepy](https://github.com/fusepy/fusepy) - FUSE bindings for Python
|
||||
* requests - HTTP library for Python
|
||||
* python-dotenv - Python library for reading .env files
|
||||
|
||||
### Features
|
||||
|
||||
* Read-only filesystem to read your Moodle files and announcements
|
||||
* In-memory file caching mechanism
|
||||
* Automatic html-to-markdown conversion for announcements
|
||||
|
||||
### Future enhancements
|
||||
|
||||
* Forum viewing support
|
||||
* Persistent tree cache (currently it is built at every mount)
|
||||
* Better error handling
|
||||
* Better logging
|
||||
* Better documentation
|
||||
|
||||
|
||||
### Demo
|
||||
|
||||

|
Reference in New Issue
Block a user