thematdevdotorg/main.py

85 lines
3.7 KiB
Python
Raw Normal View History

2020-11-07 15:10:52 +03:00
from flask import Flask, url_for, render_template
2020-11-06 17:51:15 +03:00
import os
2020-11-07 15:10:52 +03:00
import json
2020-11-06 17:51:15 +03:00
import numpy.random as gaussian_rnd
2021-01-12 21:32:05 +03:00
""".. ..,.,,,. . . .
. . ....... ...,%&%/,.. .... .*#&&%*... .... . . .. ..
.. .. ,.. . ...,(&% ,........,..,. ... .. .*#%/..,. .. ....,. .... . ...
, .. .. ... .. /%*. ... .... ., ........ ..., . ,.#%#. ...,.. . ,., ,,
..... ... ..*%/ ... ..... ............ .....,. .,.,(* ........,,..,.,..,.
.........,.*&(. ... .......... . ....... ..,/*.,,,. *& . .....,,....,...,
.,........,(,.. . . ...../*..,. ..%*,...., ......... .
*. .... (%, *#.,.,,,,#% .**(#.,,,./&.%, .... .... ......
,....... (% .#.,,*#*,,,% ,*.#,,,,,#%.#% .. .,.,..,..
...... /@& *#&%%%&(, ./ .,/. .#% .., ....
. . .%@@%. *@%*,**,,**,,,,..,,,....*.,.//*%#/(,@.
.%@@@@@( .*#%%&%@%%&%%&(%#&@##@%*(%(/,..*%@#
(@@@@&(&, /&#.,,,,...,,,,*,,***,,.&@#%.
(@@@@&. /@* /%#*.,*..% &&##@#
(@@@@&(, *&#. .*///(% @@#.
.%@@@@@@@( .(%#/ ,% &% *(/.
,@@@@@@@@@%, /##%**, ,(%. &/ .(% ..#/(**.
,@@@@@@@@@@@/ .,,,,,,,,,,. *% &/ *%@&@%(,*&&&&%
,@@@@@@@@@@@@@* ,@( @@@%.. ,@@&@@..#&*#&,
,@@@@@@%@@@@@@% ,&# *##(** .#%@&#@&/
,@@@@@@@@@@@@@@&/. @@/ *&. .&@@@@@@%.
,@@@@@@@@@@@@@@@@@@&#(*, (@/ ,& #@@@@@@@@@
,@@@@@%.%@@@@@@@@@@@@@@@@@@@/ .#& ,@@. &@@@@@@.
,@@@@@% ,&@@@@@@@@@@@@@@@@@@@&(&@@@@@#(///*/%## &@@@@@@
,@@@@@% .&@@@@@@&%&@@@@@@@@@@@@@@@@@@@@/ &@@@@@&
,@@@@@# ,&@@@@@# ,(#&@@@@@@@@@@@@@@@@&**. &@@@@@&
,@@@@@* .@@@@@@%. ,@@@@@@@@@@@@@@@@@@@@@@#.. ,@@@@@@*
*@@@@@, (@@@@@@/ @@@@@@@@@./%&@@@@@@@@@@@@@@@@@%*,(@@@@@@,
,@@@@@, .(@@@@@&/ ,@@@@@@@&. ..,(@@@@@@@@@@@@@@@@@@@@.
#@@@@@, .(@@@@@&#@@@@@@@&* .((%%@@@@@@@@@@@&.
#@@@@&. .&@@@@@@@@@@@#. .,*%&@@@@@%
#@@@@&. (@@@@@@@@@ ** """
2020-11-07 15:10:52 +03:00
app = Flask(__name__, subdomain_matching=True)
2021-01-12 21:32:05 +03:00
with open('config/json/main.json') as file:
main_cfg_data = json.loads(file.read())
app.config['SERVER_NAME'] = f"{main_cfg_data['hosts']['server_name']}:{main_cfg_data['hosts']['port']}"
2020-11-06 17:51:15 +03:00
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)
2020-11-07 15:10:52 +03:00
return url_for(endpoint, **values)
2020-11-04 11:30:38 +03:00
@app.route('/')
def index():
2020-11-07 15:10:52 +03:00
with open('config/json/projects.json') as file:
data = json.loads(file.read())
cols = data['cols']
projects = data['projects']
2021-01-12 21:32:05 +03:00
return render_template('index.html', random_number=generate_iq(), projects=projects, texlink=f"{main_cfg_data['hosts']['texlink']}:{main_cfg_data['hosts']['texport']}")
2020-11-04 11:30:38 +03:00
2020-11-06 17:51:15 +03:00
@app.route('/', subdomain='tex')
def texindex():
2020-11-07 15:10:52 +03:00
return render_template('texindex.html')
2020-11-04 11:30:38 +03:00
def main():
2021-01-12 21:16:56 +03:00
app.run('thematdev.org', 1488)
2020-11-04 11:30:38 +03:00
if __name__ == '__main__':
main()