Experimental communication tools (televex screen + televex print)
https://televex.vvvvvvaria.org/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
113 lines
6.5 KiB
113 lines
6.5 KiB
3 years ago
|
import feedparser
|
||
|
import os
|
||
|
from icalendar import Calendar
|
||
|
import datetime
|
||
|
from requests import get
|
||
|
import urllib
|
||
|
import json
|
||
|
import pypandoc
|
||
|
import time
|
||
|
|
||
|
ics = get("https://varia.zone/events.ics").text
|
||
|
gcal = Calendar.from_ical(ics)
|
||
|
now = datetime.datetime.now()
|
||
|
|
||
|
while True:
|
||
|
|
||
|
os.system("toilet --gay -w 125 -W --filter border:gay \ \ \ VARIA\ \ \ ")
|
||
|
|
||
|
print("")
|
||
|
time.sleep(3)
|
||
|
|
||
|
abouts = ["""
|
||
|
[NL]
|
||
|
---
|
||
|
Varia is een collectieve ruimte1 in Rotterdam die zich richt op alledaagse technologie.
|
||
|
---
|
||
|
Wij zijn van mening dat technologie niet het exclusieve domein van specialisten moet zijn.
|
||
|
Technologie beinvloedt iedereen en zou verschillende manieren van leven mogelijk moeten
|
||
|
maken, in plaats van deze uit te sluiten. We vatten alledaagse technologie breed op;
|
||
|
niet alleen computers, standaarden of protocollen horen daarbij, maar bijvoorbeeld ook
|
||
|
kookgereedschappen of muziekinstrumenten.
|
||
|
---
|
||
|
Vanuit onze achtergrond in kunst, ontwerp, software & hardware, onderwijs en theoretische
|
||
|
praktijk, voelen we de behoefte om een plek te vormen waar technologie en sociale vragen
|
||
|
met elkaar verbonden zijn; een plek waar samenwerking, continuteit, ontwikkeling,
|
||
|
collectief leren, nieuwsgierigheid en experiment voorop staan.
|
||
|
---
|
||
|
""",
|
||
|
"""
|
||
|
[EN]
|
||
|
--- │··················································································
|
||
|
Varia is a collective-space in Rotterdam focused on everyday technologies. │··················································································
|
||
|
--- │··················································································
|
||
|
We believe technology should not be the exclusive domain of specialists. │··················································································
|
||
|
It affects everyone and should enable, rather than preclude, diverse ways of living. │··················································································
|
||
|
We understand everyday technology broadly; not just as computers, standards, or │··················································································
|
||
|
protocols, but also, for example, as cooking tools or musical instruments. │··················································································
|
||
|
--- │··················································································
|
||
|
Being involved in the fields of art, design, software & hardware, education │··················································································
|
||
|
and theoretical practices, we felt the need for a place where technology and │··················································································
|
||
|
social questions are linked; a place where collaboration, continuity, development, │··················································································
|
||
|
collective learning, curiosity and experiments are foregrounded. │··················································································
|
||
|
--- │··················································································
|
||
|
"""
|
||
|
]
|
||
|
# for lang in abouts:
|
||
|
# for line in lang.split('\n'):
|
||
|
# os.system(f"echo '{ line }' | lolcat -a")
|
||
|
#
|
||
|
# print("")
|
||
|
# time.sleep(10)
|
||
|
|
||
|
for c in gcal.walk():
|
||
|
|
||
|
if c.name == "VEVENT":
|
||
|
|
||
|
date = c.get("dtstart").dt
|
||
|
title = c.get("summary")
|
||
|
|
||
|
if date > now:
|
||
|
|
||
|
os.system("toilet --gay -w 125 -W --filter border:gay \ COMING UP\ \ ")
|
||
|
|
||
|
print("")
|
||
|
time.sleep(3)
|
||
|
|
||
|
url = 'https://multi.vvvvvvaria.org/API/latest/25'
|
||
|
response = urllib.request.urlopen(url).read()
|
||
|
multifeeder = json.loads(response)
|
||
|
|
||
|
for post in multifeeder:
|
||
|
|
||
|
# Clean up the title of the RSS & Calendar
|
||
|
title = title.lower().strip().replace('\n','')
|
||
|
rss_title = post["title"].lower().strip().replace('\n','')
|
||
|
|
||
|
if title == rss_title:
|
||
|
|
||
|
description = pypandoc.convert_text(post["summary"], 'plain', format='html')
|
||
|
|
||
|
# Send the event to the terminal·
|
||
|
os.system(f"toilet -f mono12 --gay -w 125 -W --filter border:gay '{ title }'")
|
||
|
print("")
|
||
|
time.sleep(1)
|
||
|
|
||
|
print(date.strftime("%A %d %B %Y (%H:%M:%S)"))
|
||
|
print("")
|
||
|
time.sleep(1)
|
||
|
|
||
|
#print(description)
|
||
|
lines = [line for line in description.split('\n')]
|
||
|
for line in lines:
|
||
|
# HACKY!!!
|
||
|
line = line.replace('&', '\&')
|
||
|
line = line.replace('(', '\(')
|
||
|
line = line.replace(')', '\)')
|
||
|
line = line.replace(';', '\;')
|
||
|
line = line.replace('"', '\"')
|
||
|
line = line.replace("'", "\'")
|
||
|
os.system(f"echo { line } | lolcat -a")
|
||
|
print("")
|
||
|
time.sleep(10)
|