From 31682e9b629cb47a96191dd4a38df780ed692ef2 Mon Sep 17 00:00:00 2001 From: Alexis Werefox Date: Wed, 4 Aug 2021 20:35:36 -0500 Subject: [PATCH] Initial commit. --- .gitignore | 2 ++ Dockerfile | 7 +++++++ docker-compose.yml | 19 +++++++++++++++++++ powerpanel_manage.py | 14 ++++++++++++++ requirements.txt | 2 ++ 5 files changed, 44 insertions(+) create mode 100644 .gitignore create mode 100644 Dockerfile create mode 100644 docker-compose.yml create mode 100644 powerpanel_manage.py create mode 100644 requirements.txt diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..280a5ff --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +**.pyc +**/__pycache__/** diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..bd75f88 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,7 @@ +FROM python:alpine +ENV PYTHONUNBUFFERED=1 +WORKDIR /powerpanel-webview +COPY requirements.txt /powerpanel-webview/ +RUN pip install -r requirements.txt +COPY . /powerpanel-webview/ + diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..cc18260 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,19 @@ +--- +version: "3" + +services: + powerpanel-webview: + build: . + image: powerpanel-webview:latest + command: python manage.py runserver 0.0.0.0:8000 + ports: "8000:8000" + volumes: .:/powerpanel-webview + depends_on: db + db: + image: postgres:alpine + volumes: ./data/db:/var/lib/postgresql/data + environment: + - POSTGRES_DB=powerpanel-db + - POSTGRES_USER=postgres + - POSTGRES_PASSWORD=1t3ySxqFnqb8KrCAecIHb34v + diff --git a/powerpanel_manage.py b/powerpanel_manage.py new file mode 100644 index 0000000..c77e46b --- /dev/null +++ b/powerpanel_manage.py @@ -0,0 +1,14 @@ +#!/bin/python + +from subprocess import check_output as co + +def get_status_dict(): + output = co('pwrstat -status'.split(' ')).decode('UTF-8').replace('\t', '').split('\n')[4:] + output = [x for x in [ [ x for x in line if x ] for line in [ line.split('.') for line in output ] ] if x] + output.remove(['Current UPS status:']) + output_dict = dict(zip([o[0] for o in output], [o[1][1:] for o in output])) + return output_dict + +def print_status_dict(dict): + for i in dict.keys(): + print('{}\t\t\t{}'.format(i, dict[i])) diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..32a3b06 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,2 @@ +Django>=3.0 +psycopg2-binary>=2.8