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 is it just in hiding?) 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 ' : ' nothing ' , ' 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 = 9090 )