# Solen (Šolen/ŠOL Enhanced) An enhanced version of the ŠkolaOnLine (ŠOL) online school system. It aims to provide more readable data than the web version and remove some of the annoyances of the mobile app. This project has two version, the main one is the Android app but secondly there is also a linux version written in Python, although it is kind of outdated. At the moment, development is mainly focused on the Android app. Insiration was taken from [@JakubAndrysek](https://github.com/JakubAndrysek)'s [skola-online-stahovani-znamek](https://github.com/JakubAndrysek/skola-online-stahovani-znamek) project. # Android app The latest release is availible on [this](https://gitlab.com/Odweta/solen/-/raw/main/release/solen-v0.5.apk?ref_type=heads&inline=false) link. View all relases [here](https://gitlab.com/Odweta/solen/-/releases). First you must sign in to Škola OnLine, the app will then localy save your user credentials for you to not have to log in every time you start up the app. If you want to wipe the credentials from local storage: when signed in to the app, click the three dot menu on the top right > Odhlásit se (Sign out). You then need to sign in again to use the app. After you sign in, you are greeted by a timetable that starts at the current day (at the weekend at the earliest workday) and continues for about 5-7 days (one workweek for sure, sometimes ~2 days more). The three dot menu offers: + refreshing the data (loads the most recent data from the web) + changing the account + signing out + settings + grades (work in progress) # PC Linux Python version This version of the project is not very relevant anymore, so its development is suspended (I won't work on it in the forseeable future). **Check out the Android app instead!** ## Features + Shows the schedule for the current week + Shows all grades and their weighted average + Works offline (if the internet has been accessed at least once before) ## Installation **Clone the repo** `git clone https://gitlab.com/Odweta/solen` **Navigate into the repo directory** `cd solen/pc_linux` **Install** `sudo make install` **Run the program** `solen` ## Usage Upon startup, the user is prompted to enter their ŠkolaOnLine credentials. If the login proccess is successful, the preconfigured functions in `/bin/solen` will execute. By default, the functions are: showing the schedule for this week, showing the schedule for today and tomorrow and showing the grades. You can edit that file if you want to change what is being displayed. Alternatively, you can edit the `src/main.py` and then do the install step (`sudo make install`). There are optional command-line arguments for filtering what should be displayed. Here they are: | Optional argument | Description | | ----------------------------------- | --------------------------------------------------------------------------------------- | | -t, --today-tomorrow | show the schedule for today and tomorrow | | -w, --week | show the schedule for this week | | -g, --grades | show the grades | | -u, --username | provide the username for login | | -p, --password | provide the password for login | | -l, --local | only show the local data without attempting to connect to the internet | | -d, --delete-local-files | deletes all locally stored user data, including schedules, grades and login credentials | | -b, --backup | backs up all local user data into a .tar.gz archive | | -R, --backup-restore PATH | restores a backup previously made with SOLEn |