diff --git a/README.md b/README.md index af61381..a337a34 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ # BAPSicle + ### a.k.a. The Next-Gen BAPS server !["BAPSicle logo, a pink melting ice lolly."](docs/images/logo.png "BAPSicle Logo") @@ -11,12 +12,13 @@ Just want to install BAPSicle? ### Windows -Currently there's just a batch script. Simply run ``install.bat`` as administrator. If you've just built BAPSicle yourself, it'll be in the ``/install`` folder. +Currently there's just a batch script. Simply run `install.bat` as administrator. If you've just built BAPSicle yourself, it'll be in the `/install` folder. This will: -* Copy BAPSicle into ``C:\Program Files\BAPSicle`` -* Install BAPSicle.exe as a Windows Service with NSSM. -* If all goes well, open [http://localhost:13500](localhost:13500) for the server UI. + +- Copy BAPSicle into `C:\Program Files\BAPSicle` +- Install BAPSicle.exe as a Windows Service with NSSM. +- If all goes well, open [http://localhost:13500](localhost:13500) for the server UI. ### Linux @@ -24,7 +26,7 @@ Installed service for linux is coming soon. Testing is primarily on Ubuntu 20.04 ### MacOS -Currently there's no installer for MacOS, so you'll have to move the ``build/output/BAPSicle.app`` you've built and make it start automatically (if you want). +Currently there's no installer for MacOS, so you'll have to move the `build/output/BAPSicle.app` you've built and make it start automatically (if you want). Starting and stopping the server, as well as UI links, are available in the System Menu once opening the app. @@ -35,29 +37,32 @@ Starting and stopping the server, as well as UI links, are available in the Syst ### Requirements On all platforms: -* Python 3.7 - 3.9 Tested (macOS 3.7 may be iffy) -* Git (Obviously) + +- Python 3.8 - 3.9 Tested +- Git (Obviously) On MacOS: -* Homebrew (To install command line Platypus) + +- Homebrew (To install command line Platypus) ### Running -To just run the server standaline without installing, run ``python ./launch_standalone.py``. + +To just run the server standaline without installing, run `python ./launch.py`. ## Building ### Windows -To build a ``BAPSicle.exe``, run ``build\build-exe.bat``. The resulting file will appear in ``build\output``. You can then use the install instructions above to install it, or just run it standalone. +To build a `BAPSicle.exe`, run `build\build-exe.bat`. The resulting file will appear in `build\output`. You can then use the install instructions above to install it, or just run it standalone. ### Linux -To build a ``BAPSicle`` executable, run ``build/build-linux.sh``. The resulting file will appear in ``build/output``. +To build a `BAPSicle` executable, run `build/build-linux.sh`. The resulting file will appear in `build/output`. ### MacOS -To build a ``BAPSicle.app``, run ``build/build-macos.sh``. The resulting file will appear in ``build/output``. +To build a `BAPSicle.app`, run `build/build-macos.sh`. The resulting file will appear in `build/output`. ### Other bits -Provided is a VScode debug config to let you debug live, as well as ``dev\install-githook.{bat,sh}`` that will help git to clean your code up as you're committing! +Provided is a VScode debug config to let you debug live, as well as `dev\install-githook.{bat,sh}` that will help git to clean your code up as you're committing! diff --git a/ui-templates/log.html b/ui-templates/log.html index 5651a39..3ef8a31 100644 --- a/ui-templates/log.html +++ b/ui-templates/log.html @@ -1,11 +1,34 @@ {% extends 'base.html' %} {% block content_inner %} {% if data %} - {% for log in data.logs %} - - {{log}} - -
- {% endfor %} +
+ {% if data.page != 1 %} + + <<< Previous Page + + {% endif %} + + Next Page >>> + +
+
+ {% for log in data.logs %} + + {{log}} + +
+ {% endfor %} +
+
+ {% if data.page != 1 %} + + <<< Previous Page + + {% endif %} + + Next Page >>> + +
+
{% endif %} {% endblock %} \ No newline at end of file diff --git a/web_server.py b/web_server.py index 933a818..e940c6e 100644 --- a/web_server.py +++ b/web_server.py @@ -141,11 +141,18 @@ def ui_logs_list(request): @app.route("/logs/") def ui_logs_render(request, path): + page = request.args.get("page") + if not page: + return redirect(f"/logs/{path}?page=1") + page = int(page) + assert page >= 1 + log_file = open("logs/{}.log".format(path)) data = { - "logs": log_file.read().splitlines(), + "logs": log_file.read().splitlines()[-300*page:(-300*(page-1) if page > 1 else None)][::-1], "ui_page": "logs", "ui_title": "Logs - {}".format(path), + "page": page } log_file.close() return render_template("log.html", data=data) @@ -306,7 +313,8 @@ async def audio_file(request, type: str, id: int): # Static Files app.static("/favicon.ico", resolve_local_file_path("ui-static/favicon.ico"), name="ui-favicon") app.static("/static", resolve_local_file_path("ui-static"), name="ui-static") -app.static("/presenter/", resolve_local_file_path("presenter-build/index.html"), strict_slashes=True, name="presenter-index") +app.static("/presenter/", resolve_local_file_path("presenter-build/index.html"), + strict_slashes=True, name="presenter-index") app.static("/presenter/", resolve_local_file_path("presenter-build"))