57 lines
1.3 KiB
Python
57 lines
1.3 KiB
Python
from flask import Flask, url_for, render_template
|
|
import os
|
|
import json
|
|
import numpy.random as gaussian_rnd
|
|
|
|
|
|
app = Flask(__name__, subdomain_matching=True)
|
|
app.config['SERVER_NAME'] = 'thematdev.local:22837'
|
|
|
|
|
|
def generate_iq():
|
|
return round(gaussian_rnd.normal(loc=100.0, scale=15.0, size=None))
|
|
|
|
|
|
@app.context_processor
|
|
def override_url_for():
|
|
return dict(url_for=dated_url_for)
|
|
|
|
|
|
def dated_url_for(endpoint, **values):
|
|
if endpoint == 'static':
|
|
filename = values.get('filename', None)
|
|
if filename:
|
|
file_path = os.path.join(app.root_path, endpoint, filename)
|
|
values['q'] = int(os.stat(file_path).st_mtime)
|
|
return url_for(endpoint, **values)
|
|
|
|
|
|
@app.route('/')
|
|
def index():
|
|
with open('config/json/projects.json') as file:
|
|
data = json.loads(file.read())
|
|
cols = data['cols']
|
|
projects = data['projects']
|
|
length = len(projects)
|
|
rows = []
|
|
for i in range(0, length, cols):
|
|
row = []
|
|
for j in range(i, min(i + cols, length)):
|
|
row.append(projects[j])
|
|
rows.append(row)
|
|
|
|
return render_template('index.html', random_number=generate_iq(), rows=rows)
|
|
|
|
|
|
@app.route('/', subdomain='tex')
|
|
def texindex():
|
|
return render_template('texindex.html')
|
|
|
|
|
|
def main():
|
|
app.run('thematdev.local', 22837)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
main()
|