This commit is contained in:
televex 2021-02-24 16:28:06 +00:00
commit 8fde14f8d8
11 changed files with 134 additions and 4 deletions

2
.gitignore vendored
View File

@ -1 +1,3 @@
.venv*
venv* venv*
print/__pycache__*

4
.gitmodules vendored
View File

@ -1,3 +1,3 @@
[submodule "tools/ascii-art-but-with-unicode"] [submodule "screen/tools/ascii-art-but-with-unicode"]
path = tools/ascii-art-but-with-unicode path = screen/tools/ascii-art-but-with-unicode
url = https://git.vvvvvvaria.org/mb/ascii-art-but-with-unicode.git url = https://git.vvvvvvaria.org/mb/ascii-art-but-with-unicode.git

11
Makefile Normal file
View File

@ -0,0 +1,11 @@
setup:
@python3 -m venv .venv && \
.venv/bin/pip install -r requirements.txt
screen:
@cd screen && \
.venv/bin/python televex.py
print:
$cd print && \
.venv/bin/python start.py

7
README.md Normal file
View File

@ -0,0 +1,7 @@
# TeleVex
https://televex.vvvvvvaria.org/
Experimental communication tools (televex screen + televex print).

52
print/start.py Normal file
View File

@ -0,0 +1,52 @@
# https://github.com/python-escpos/python-escpos
# https://python-escpos.readthedocs.io/en/latest/
import sys
import os
import flask
from flask import request
import urllib
import json
from escpos.escpos import Escpos
from escpos import printer
# Create the application.
APP = flask.Flask(__name__)
# File Initialization
try:
lp = printer.File("/dev/usb/lp0")
except:
lp = sys.stdout
# USB initialization
# Bus 001 Device 006: ID 04b8:0e15 Seiko Epson Corp.
# lp = printer.Usb(0x4b8, 0xe15)
lp.text('test :)')
lp.image('')
lp.cut()
@APP.route('/', methods=['GET', 'POST'])
def index():
plaintext = request.args.get('plaintext', '')
if plaintext:
lp.text(plaintext)
lp.cut()
url = 'https://multi.vvvvvvaria.org/API/latest/5'
response = urllib.request.urlopen(url).read()
multifeeder = json.loads(response)
url = 'https://multi.vvvvvvaria.org/API/today/'
response = urllib.request.urlopen(url).read()
feedstoday = json.loads(response)
return flask.render_template('index.html', plaintext=plaintext, multifeeder=multifeeder, feedstoday=feedstoday)
if __name__ == '__main__':
APP.debug=True
APP.run(port=5000)

View File

@ -0,0 +1,16 @@
body{
color:magenta;
margin:2em;
}
div#print,
div#multifeeder,
div#webcam{
}
div#multifeeder div.multipost{
margin:1em 0;
}
div#webcam img{
width:500px;
}

View File

@ -0,0 +1,43 @@
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset="utf-8" />
<title>TeleVex (print)</title>
<link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='stylesheet.css')}}">
</head>
<body>
<div id="main">
<div id="print">
<h1>Plain Text Printing Point (ASCII only)</h1>
<form action="" method="GET">
<textarea name="plaintext" cols="42" rows="30">{{ plaintext }}</textarea>
<br>
<br>
<input class="submit" type="submit" value="print"/>
</form>
<br>
<h1>Image printing access point</h1>
<form action="" method="GET">
<button>Select image</button>
<input class="submit" type="submit" value="print image"/>
</form>
</div>
<br>
<div id="multifeeder">
<h1 id="title">Multifeeder</h1>
<div>Last 5 posts added to the Televex print stream:</div>
<br>
{% for post in multifeeder %}
<div class="multipost">
<strong>Title</strong>: {{ post.title }}<br>
<strong>Link</strong>: {{ post.link }}<br>
<strong>Author</strong>: {{ post.author }}<br>
<strong>Date</strong>: {{ post.published }}<br>
</div>
{% endfor %}
</div>
</div>
</body>
</html>

View File

@ -2,4 +2,4 @@ feedparser
icalendar icalendar
requests requests
pypandoc pypandoc
pyhyphen python-escpos

@ -1 +0,0 @@
Subproject commit 24c3d8af3e94cf3ce439a945605600d16475f0c4