From 03cd833078c1439b5f1ba3a9d6c2f6365c9d6c47 Mon Sep 17 00:00:00 2001 From: Johannes Findeisen Date: Mon, 27 Dec 2021 02:30:35 +0100 Subject: [PATCH] README update --- README.md | 14 ++++++++++++++ docs/TODO.md | 12 ------------ uplink.py | 4 ++-- 3 files changed, 16 insertions(+), 14 deletions(-) delete mode 100644 docs/TODO.md diff --git a/README.md b/README.md index e3a14e0..4cbd6da 100644 --- a/README.md +++ b/README.md @@ -59,6 +59,7 @@ Edit config.json to your needs. ### Create Database TODO + For now there is only the file uplink.sql which will create the tables in your MariaDB/MySQL database. ## Usage @@ -91,3 +92,16 @@ Edit config.json to your needs. I actually use "[DBeaver](https://dbeaver.io/)" for taking a look at the data uplink is collecting. There will be a Gtk+ frontend to uplink at some time but this project is at a very early stage of development, so I want to write the collector first. Even support for other SQL databases is in planning in conjunction with the Gtk+ frontend. I use MariaDB only because I can move fast-forward. + +## Planned features + +- A lot... :) +- Make all config vars as ARGS and vice versa. ARGS have higher priority. Chain: default -> config -> ARGS. +- Bring back SQLite support. +- Switch to ORM (peewee, sqlalchemy?) to support PostgreSQL, MariaDB/MySQL, SQLite and more. +- Gtk+/urwid frontend for visualizing the collected data. wxGlade? +- A tool to generate reports for showing to your uplink provider. +- Always keep platform independence in mind but not if uplink looses nice features on Linux. +- Implement a speedtest feature to regularly run speedtest but independent to uptime checks with different interval. +- A small embedded webserver to view what is going on. +- Real file based logging diff --git a/docs/TODO.md b/docs/TODO.md deleted file mode 100644 index 774d433..0000000 --- a/docs/TODO.md +++ /dev/null @@ -1,12 +0,0 @@ -# TODO (in no particular order) - - - A lot... :) - - Make all config vars as ARGS and vice versa. ARGS have higher priority. Chain: default -> config -> ARGS. - - ~~Parallelize queries using threads to improve performance; Does not work using SQLite because of exclusive access to the database~~ **DONE** - - ~~SQL server backend; MariaDB/MySQL?~~ **DONE** - - Bring back SQLite support - - Switch to ORM (peewee?) to support PostgreSQL, MySQL and SQLite. - - Gtk+ frontend connecting to the database or loading a local copy of a SQLite file. wxGlade? - - ~~A cron mode to not let uplink run in an endless loop to be scheduled and executed by cron.~~ **DONE** - - A daemon mode to be a real UNIX daemon. For now, it's just sleep() based. - - Always keep platform independence in mind but not if uplink looses nice features on Linux. diff --git a/uplink.py b/uplink.py index a835d33..7006eb5 100755 --- a/uplink.py +++ b/uplink.py @@ -35,10 +35,10 @@ __version__ = "0.4.0-development" # TODO: CHECK ALL ERROR HANDLING!!! # TODO: Implement logging # TODO: Implement CLI output messages -# TODO: Add hourly speed-tests' # TODO: IDEA: Implement a small webserver inline to get statistics and graphs over the network? Or maybe better as a # separate daemon # TODO: Make use of more args passed to the script +# TODO: Implement a speedtest that will also run regularly but in an individual interval def parse_args(): @@ -112,7 +112,7 @@ if __name__ == "__main__": _config = json.loads(config_data) except "OSError, PermissionDenied, RuntimeError, ValueError" as err: # TODO: Replace all lines like this with generic Python logging - print(str("Uplink: Configuration Error!")) + print(str("Uplink: Configuration Error!" + err)) sys.exit(1) try: