This repository has been archived on 2019-12-12. You can view files and clone it, but cannot push or open issues/pull-requests.
tildetown-scripts/tildetown/app.py

50 lines
1.0 KiB
Python

from functools import lru_cache
import json
import os
import random
import time
from sys import argv
from tempfile import mkdtemp, mkstemp
import logging
from pyhocon import ConfigFactory
import requests
from flask import Flask, render_template, request, redirect
from tildetown.stats import get_data
## disgusting hack for python 3.4.0
import pkgutil
orig_get_loader = pkgutil.get_loader
def get_loader(name):
try:
return orig_get_loader(name)
except AttributeError:
pass
pkgutil.get_loader = get_loader
##########
SITE_NAME = 'tilde.town'
app = Flask('~cgi')
app.config['DEBUG'] = True
# tension between this and cfg function...
conf = ConfigFactory.parse_file('cfg.conf')
logging.basicConfig(filename='/tmp/cgi.log', level=logging.DEBUG)
@lru_cache(maxsize=32)
def site_context():
return get_data()
@app.route('/random', methods=['GET'])
def get_random():
user = random.choice(site_context()['live_users'])
return redirect('http://tilde.town/~{}'.format(user['username']))
if __name__ == '__main__':
app.run()