GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — fedoralovespython.org/fedoralovespython.py at master · fedora-python/fedoralovespython.org Expand file tree/ Copy pathfedoralovespython.pyMore file actions 96 lines (70 loc) · 2.21 KB / Copy pathfedoralovespython.pyFile metadata and controls96 lines (70 loc) · 2.21 KB 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 import textwrap import jinja2 import yaml from flask import Flask, Response, render_template, jsonify, url_for from markdown import markdown import ansicolor app = Flask('fedoralovespythonorg') app.config['TEMPLATES_AUTO_RELOAD'] = True def read_points(hide_upcoming=True): points = read_yaml('points.yml') if hide_upcoming: points = [p for p in points if p.get('ready', True)] for point in points: if 'logo' in point: url = url_for('static', filename='img/' + point['logo'] + '.svg', _external=True) point['logo_url'] = url return points @app.route('/') def index(): points = read_points() return render_template('index.html', points=points) @app.route('/__future__/') def future(): points = read_points(hide_upcoming=False) return render_template('index.html', points=points) @app.route('/index.txt') def plaintext(): points = read_points() return Response( render_template('index.txt', points=points, colors=NoColors()), mimetype='text/plain' ) @app.route('/index.term') def terminal(): points = read_points() return Response( render_template('index.txt', points=points, colors=ansicolor), mimetype='application/octet-stream' ) @app.route('/index.json') def json(): points = read_points() return jsonify(points) @app.template_filter('markdown') def convert_markdown(text): text = textwrap.dedent(text) result = jinja2.Markup(markdown(text)) return result @app.template_filter('term_indent') def term_indent(text): text = textwrap.dedent(text) text = ' ' + text.strip().replace('\n', '\n ') return text @app.template_filter('apply') def apply_color(text, color): """Apply the given colorizing function to text""" return color(text) class NoColors: """No-op replacement for the "ansicolor" module""" def __getattr__(self, name): return lambda text: text def read_yaml(filename): with open(filename, encoding='utf-8') as file: data = yaml.safe_load(file) return data if __name__ == '__main__': from elsa import cli cli(app, base_url='https://fedoralovespython.org') |
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |