44from jinja2 import Environment , FileSystemLoader , select_autoescape
55
66from starlette .middleware .cors import CORSMiddleware
7- from starlette .responses import HTMLResponse , FileResponse
7+ from starlette .responses import HTMLResponse , FileResponse , JSONResponse
88from starlette .staticfiles import StaticFiles
99
1010from generator import PosterGenerator
11- from cron import sync_templates , cleanup
11+ from tasks import sync_templates , cleanup
1212
1313sync_templates ()
1414cleanup ()
1515
1616env = Environment (
17- loader = FileSystemLoader ('./posterTemplates ' ),
17+ loader = FileSystemLoader ('./remote/templates/template ' ),
1818 autoescape = select_autoescape (['svg' ])
1919)
2020
@@ -39,21 +39,21 @@ def file_get_contents(filename):
3939def root ():
4040 return HTMLResponse (file_get_contents ("./build/index.html" ))
4141
42- @app .get ('/cron ' )
43- def cron ():
42+ @app .get ('/sync ' )
43+ def sync ():
4444 sync_templates ()
4545 cleanup ()
4646 return HTMLResponse ('ok' )
4747
4848@app .get ("/render/{id}/{template}/{file_format}" )
49- def generate (id , template , file_format = 'svg' , promo = None ):
49+ def generate (id , template , file_format = 'svg' , promo = None , promoFor = None ):
5050 eventRequest = requests .get ('https://clear.codeday.org/api/region/{}' .format (id ))
5151 try :
5252 eventJson = json .loads (eventRequest .text )
5353 except :
5454 return "No event found with id {}" .format (id ),404
5555
56- return PosterGenerator (eventJson , promo ).make_poster ('{}.svg' .format (template ),file_format )
56+ return PosterGenerator (eventJson , promo , promoFor ).make_poster ('{}.svg' .format (template ),file_format )
5757
5858@app .get ('/render_all/{id}' )
5959def generate_all (id , promo = None ):
@@ -66,6 +66,6 @@ def generate_all(id, promo=None):
6666
6767 return FileResponse (shutil .make_archive ('zip/{}' .format (id ), 'zip' , 'generated/{}' .format (eventJson .current_event ['id' ])), filename = '{}.zip' .format (id ))
6868
69- @app .get ('/api/listTemplates/ ' , response_class = HTMLResponse )
69+ @app .get ('/api/list-templates ' , response_class = HTMLResponse )
7070def listTemplates ():
71- return json . dumps ([t .replace ('.svg' , '' ) for t in env .list_templates ()])
71+ return JSONResponse ([t .replace ('.svg' , '' ) for t in env .list_templates ()])
0 commit comments