wip
This commit is contained in:
parent
f86dec5676
commit
c78bd5cf5d
8 changed files with 106 additions and 0 deletions
6
.envrc
Normal file
6
.envrc
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
python3 -m venv .venv
|
||||||
|
source ./.venv/bin/activate
|
||||||
|
PATH_add .venv/bin
|
||||||
|
python3 -m pip install --upgrade pip
|
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
.venv
|
||||||
|
__pycache__
|
|
@ -0,0 +1,6 @@
|
||||||
|
```shell
|
||||||
|
export DB_NAME=test
|
||||||
|
export DB_USER=test
|
||||||
|
export DB_PASSWORD=test
|
||||||
|
FLASK_APP=steam_chat_viewer flask run
|
||||||
|
```
|
2
requirements.txt
Normal file
2
requirements.txt
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
flask
|
||||||
|
pg8000
|
6
setup.py
Normal file
6
setup.py
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
from setuptools import find_packages, setup
|
||||||
|
|
||||||
|
setup(
|
||||||
|
name="steam_chat_viewer",
|
||||||
|
packages=find_packages(),
|
||||||
|
)
|
20
steam_chat_viewer/__init__.py
Normal file
20
steam_chat_viewer/__init__.py
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
from os import environ
|
||||||
|
from flask import Flask, request
|
||||||
|
from subprocess import check_output
|
||||||
|
import json
|
||||||
|
|
||||||
|
from .pg import query
|
||||||
|
|
||||||
|
app = Flask(__name__)
|
||||||
|
|
||||||
|
@app.route('/')
|
||||||
|
def home():
|
||||||
|
return str(query(
|
||||||
|
'''
|
||||||
|
SELECT FROM steam_chat_logger
|
||||||
|
ORDER BY date
|
||||||
|
LIMIT 10
|
||||||
|
'''
|
||||||
|
).rows)
|
40
steam_chat_viewer/pg.py
Normal file
40
steam_chat_viewer/pg.py
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
from os import environ
|
||||||
|
from collections import namedtuple
|
||||||
|
import pg8000
|
||||||
|
|
||||||
|
from flask import g
|
||||||
|
|
||||||
|
DBResult = namedtuple('Result', 'rows rowcount')
|
||||||
|
|
||||||
|
def db():
|
||||||
|
if not hasattr(g, 'db_connection'):
|
||||||
|
g.db_connection = pg8000.connect(
|
||||||
|
database=environ['DB_NAME'],
|
||||||
|
user=environ['DB_USER'],
|
||||||
|
password=environ['DB_PASSWORD'],
|
||||||
|
)
|
||||||
|
|
||||||
|
return g.db_connection
|
||||||
|
|
||||||
|
def query(query, **params):
|
||||||
|
try:
|
||||||
|
cursor = db().cursor()
|
||||||
|
cursor.paramstyle = "named"
|
||||||
|
cursor.execute(query, params)
|
||||||
|
db().commit()
|
||||||
|
|
||||||
|
if cursor._cached_rows:
|
||||||
|
columns = [x[0] for x in cursor.description]
|
||||||
|
rows = [dict(zip(columns, row)) for row in cursor.fetchall()]
|
||||||
|
# rdef = namedtuple('row', ' '.join([x[0] for x in cursor.description]))
|
||||||
|
# rows = list(map(rdef._make, cursor.fetchall()))
|
||||||
|
else:
|
||||||
|
rows = []
|
||||||
|
|
||||||
|
return DBResult(
|
||||||
|
rows=rows,
|
||||||
|
rowcount=cursor.rowcount,
|
||||||
|
)
|
||||||
|
except:
|
||||||
|
db().rollback()
|
||||||
|
raise
|
24
zprofile
Normal file
24
zprofile
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
# /etc/zsh/zprofile: system-wide .zprofile file for zsh(1).
|
||||||
|
#
|
||||||
|
# This file is sourced only for login shells (i.e. shells
|
||||||
|
# invoked with "-" as the first character of argv[0], and
|
||||||
|
# shells invoked with the -l flag.)
|
||||||
|
#
|
||||||
|
# Global Order: zshenv, zprofile, zshrc, zlogin
|
||||||
|
|
||||||
|
alias s='sudo su - root -s /usr/bin/zsh'
|
||||||
|
|
||||||
|
function hhtop {
|
||||||
|
# mkdir -p ~/.config/htop
|
||||||
|
# cp /etc/htoprc.global ~/.config/htop/htoprc
|
||||||
|
# cp /etc/htoprc.global ~/.htoprc
|
||||||
|
rm -rf ~/.config/htop ~/.htoprc
|
||||||
|
htop
|
||||||
|
}
|
||||||
|
|
||||||
|
ZSH_THEME=bw
|
||||||
|
DISABLE_AUTO_UPDATE=true
|
||||||
|
plugins=(
|
||||||
|
zsh-autosuggestions
|
||||||
|
)
|
||||||
|
source /etc/zsh/oh-my-zsh/oh-my-zsh.sh
|
Loading…
Reference in a new issue