import datetime , os , re
from bottle import error , response , route , run , static_file , template , TEMPLATE_PATH
def find_gallery ( name ) :
gal = [ name ]
if name == " Aristen " :
gal . append ( [ [ " menu.jpg " , " Aristen ' s fancy set with bright colors and an obi belt " ] , [ " scarf.jpg " , " Newbie Aristen with her orange scarf " ] , [ " marine.jpg " , " Aristen in the Epheria Marine Classic Set, a goofy marine pinup costume. " ] ] )
return gal
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 ' : ' char ' , ' title ' : ' blessfrey - meet ' + char_name , ' year ' : find_year ( ) , ' profile ' : prepare_profile ( loc , char_name ) , ' gallery ' : find_gallery ( 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 )
# Blessfrey Demo Page
@route ( ' /demo ' )
def demo ( ) :
""" demo """
info = { ' css ' : ' demo ' , ' title ' : ' blessfrey demo ' , ' year ' : find_year ( ) }
return template ( ' demo.tpl ' , info )
# Fashion Page
@route ( ' /diary ' )
def diary ( ) :
""" diary """
info = { ' css ' : ' diary ' , ' title ' : ' chimchooree \' s diary ' , ' year ' : find_year ( ) }
return template ( ' diary.tpl ' , info )
# Fashion Page
@route ( ' /fashion ' )
def fashion ( ) :
""" fashion """
info = { ' css ' : ' fashion ' , ' title ' : ' blessfrey fashion ' , ' year ' : find_year ( ) }
return template ( ' fashion.tpl ' , info )
# Home Page - Index Template
@route ( ' / ' )
def home ( ) :
""" home """
info = { ' css ' : ' index ' , ' title ' : ' chimchooree \' s dev space - blessfrey ' , ' year ' : find_year ( ) , ' news ' : [ [ " link " , " website update " ] , [ " link2 " , " about blessfrey rpg " ] , [ " link2 " , " about blessfrey rpg " ] , [ " link2 " , " about blessfrey rpg " ] , [ " link2 " , " about blessfrey rpg " ] , [ " link2 " , " about blessfrey rpg " ] , [ " link2 " , " about blessfrey rpg " ] , [ " link2 " , " about blessfrey rpg " ] , [ " link2 " , " about blessfrey rpg " ] , [ " link2 " , " about blessfrey rpg " ] , [ " link2 " , " about blessfrey rpg " ] , [ " link2 " , " about blessfrey rpg " ] , [ " link2 " , " about blessfrey rpg " ] , [ " link2 " , " about blessfrey rpg " ] , [ " link2 " , " about blessfrey rpg " ] , [ " link2 " , " about blessfrey rpg " ] , [ " link2 " , " about blessfrey rpg " ] ] } #list_headlines(sort_files(gather_files(loc))[0:10])}
return template ( ' index.tpl ' , info )
# Me Page
@route ( ' /me ' )
def me ( ) :
""" me """
#"Abbey", "Aloin", "Amarr", "Angel", "Aries", "Aristen", "Bijoux", "Bell", "Bless", "Calder", "Cass", "Chandrakant", "Chloe", "Customs", "Dagmar", "Dia", "Eden", "Fifi", "Flambebe", "Freya", "Funwa", "Futura", "Havelock", "Heath", "Heather", "Helia", "Intern", "Juno", "Katherine", "Laguna", "Lise", "Lune", "Moonstone", "Nephele", "Night", "Nymph", "Rune", "Silke", "Tessa", "Una", "Winter", "WISE", "Abbey", "Aloin", "Aristen", "Bell", "Bijoux", "Bless", "Calder", "Cass", "Eponnin", "Faber", "Fifi", "Freya", "Gundrune", "Heather", "Helia", "Leslie", "Lune", "Night", "Rodolphe", "Rune", "Ryada", "Silke", "Tessa", "Tilly", "WISE"
info = { ' css ' : ' me ' , ' title ' : ' about me ' , ' year ' : find_year ( ) , ' chars ' : [ " Helia " , " Angel " , " Rune " , " Tessa " , " WISE " , " Silke " , " Calder " , " Aloin " , " Fifi " , " Lune " , " Aristen " ] }
return template ( ' me.tpl ' , info )
## Main ##
if __name__ == ' __main__ ' :
run ( host = ' 127.0.0.1 ' , port = 9001 )