You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
69 lines
2.2 KiB
Python
69 lines
2.2 KiB
Python
import datetime, os, re
|
|
from bottle import error, response, route, run, static_file, template, TEMPLATE_PATH
|
|
|
|
|
|
def prepare_profile(loc, char_name):
|
|
string = ""
|
|
with open(loc + char_name) as f:
|
|
lines = f.readlines()
|
|
for line in lines:
|
|
string += line
|
|
return string
|
|
|
|
def find_year():
|
|
now = datetime.datetime.now()
|
|
return now.strftime('%Y')
|
|
|
|
## Static ##
|
|
|
|
# Serve CSS
|
|
@route('/static/css/<filename:path>')
|
|
def serve_css(filename):
|
|
return static_file(filename, root='static/css')
|
|
|
|
# Serve images
|
|
@route('/static/img/<filename:path>')
|
|
def serve_img(filename):
|
|
return static_file(filename, root='static/img')
|
|
|
|
# Serve XML
|
|
@route('/static/xml/<filename:path>')
|
|
def serve_xml(filename):
|
|
return static_file(filename, root='static/xml', mimetype='text/xml')
|
|
|
|
## Routes ##
|
|
|
|
# Error Page
|
|
@error(404)
|
|
def error404(error):
|
|
return "unfortunately, a 404 error. the page you're searching for doesn't exist. (or am I just hiding it for now?) try another page! "
|
|
@error(500)
|
|
def error500(error):
|
|
return "unfortunately, a 500 error. something is wrong with the page you're trying to find, if it exists at all. try another page! <a href=https://www.blessfrey.me/>return to blessfrey.me.</a>"
|
|
@error(502)
|
|
def error502(error):
|
|
return "unfortunately, a 502 error. this was likely due to website maintenance. usually it'll be back up before you finish reading this, but otherwise, I'll notice something's wrong soon! <a href=https://www.blessfrey.me/>return to blessfrey.me.</a>"
|
|
|
|
@route('/char/<char_name:path>')
|
|
def char(char_name):
|
|
"""character page"""
|
|
loc = 'char/'
|
|
info = {'css': 'diary', 'title': 'blessfrey - character - ' + char_name, 'year': find_year(), 'profile': prepare_profile(loc, char_name)}
|
|
abs_app_dir_path = os.path.dirname(os.path.realpath(__file__))
|
|
abs_views_path = os.path.join(abs_app_dir_path, 'views')
|
|
TEMPLATE_PATH.insert(0, abs_views_path )
|
|
return template(os.path.join(abs_views_path,'char.tpl'), info)
|
|
|
|
# Home Page - Index Template
|
|
@route('/')
|
|
def temp():
|
|
"""temp"""
|
|
info = {'css': 'index', 'title': 'chimchooree\'s dev space - blessfrey', 'year': find_year()}
|
|
return template('index.tpl', info)
|
|
|
|
|
|
## Main ##
|
|
|
|
if __name__ == '__main__':
|
|
run(host='127.0.0.1', port=9001)
|