wrap_generator is actually redundant since wrap_response does the same thing basically
This commit is contained in:
parent
0d02453c3c
commit
bf289b1ee3
32
app.py
32
app.py
|
@ -108,34 +108,30 @@ def count_entries(ship):
|
||||||
if line.startswith("0"+ship): count+=1
|
if line.startswith("0"+ship): count+=1
|
||||||
return count
|
return count
|
||||||
|
|
||||||
def wrap_response(f):
|
def wrap_response(mimetype="text/gemini")
|
||||||
@wraps(f)
|
def __wrapfunc(f):
|
||||||
def __wrapper(*args,**kwargs):
|
@wraps(f)
|
||||||
rv = f(*args,**kwargs)
|
def __wrapper(*args,**kwargs):
|
||||||
if type(rv)!=Response: return Response(Status.SUCCESS,"text/gemini",rv)
|
rv = f(*args,**kwargs)
|
||||||
return rv
|
if type(rv)!=Response: return Response(Status.SUCCESS,"text/gemini",rv)
|
||||||
return __wrapper
|
return rv
|
||||||
|
return __wrapper
|
||||||
def wrap_generator(g):
|
return __wrapfunc
|
||||||
def __viewfunc(request,**kwargs):
|
|
||||||
return Response(Status.SUCCESS,"text/gemini",g(request,**kwargs))
|
|
||||||
__viewfunc.__name__ = g.__name__
|
|
||||||
return __viewfunc
|
|
||||||
|
|
||||||
app = DefaultToGopher()
|
app = DefaultToGopher()
|
||||||
|
|
||||||
@app.route("(?:/(?:index\.gmi)?)?")
|
@app.route("(?:/(?:index\.gmi)?)?")
|
||||||
@wrap_response
|
@wrap_response()
|
||||||
def index(request):
|
def index(request):
|
||||||
return listing_generator(header_file="/var/cosmic/templates/geminiintro.tmpl",limit_line_count=RECENT_ENTRIES_COUNT)
|
return listing_generator(header_file="/var/cosmic/templates/geminiintro.tmpl",limit_line_count=RECENT_ENTRIES_COUNT)
|
||||||
|
|
||||||
@app.route("/log(?:/(?:index\.gmi)?)?")
|
@app.route("/log(?:/(?:index\.gmi)?)?")
|
||||||
@wrap_response
|
@wrap_response()
|
||||||
def log(request):
|
def log(request):
|
||||||
return listing_generator(header_text="RS001 Log Entries (Newest First):")
|
return listing_generator(header_text="RS001 Log Entries (Newest First):")
|
||||||
|
|
||||||
@app.route("/ships(?:/(?:index\.gmi)?)?")
|
@app.route("/ships(?:/(?:index\.gmi)?)?")
|
||||||
@wrap_generator
|
@wrap_response()
|
||||||
def ships(request):
|
def ships(request):
|
||||||
yield "# Ships and Outposts\n\n"
|
yield "# Ships and Outposts\n\n"
|
||||||
for ship in sorted(os.listdir("/var/gopher")):
|
for ship in sorted(os.listdir("/var/gopher")):
|
||||||
|
@ -147,7 +143,7 @@ def ships(request):
|
||||||
yield f"=> /ships/{urlencoded}/ {ship} ({entries!s})\n"
|
yield f"=> /ships/{urlencoded}/ {ship} ({entries!s})\n"
|
||||||
|
|
||||||
@app.route("/ships/(?P<ship>[^/]+)(?:/(?:index\.gmi)?)?")
|
@app.route("/ships/(?P<ship>[^/]+)(?:/(?:index\.gmi)?)?")
|
||||||
@wrap_response
|
@wrap_response()
|
||||||
def ship(request,ship=None):
|
def ship(request,ship=None):
|
||||||
if ship is None: return Response(Status.BAD_REQUEST,"Bad Request")
|
if ship is None: return Response(Status.BAD_REQUEST,"Bad Request")
|
||||||
ship_unquoted = urllib.parse.unquote(ship)
|
ship_unquoted = urllib.parse.unquote(ship)
|
||||||
|
@ -180,7 +176,7 @@ def ship(request,ship=None):
|
||||||
return __generator()
|
return __generator()
|
||||||
|
|
||||||
@app.route("/(?P<format>rss|atom).xml")
|
@app.route("/(?P<format>rss|atom).xml")
|
||||||
@wrap_generator
|
@wrap_response()
|
||||||
def feeds(request,format="atom"):
|
def feeds(request,format="atom"):
|
||||||
with open(os.path.join("/var/gopher",format+".xml")) as f:
|
with open(os.path.join("/var/gopher",format+".xml")) as f:
|
||||||
for line in f:
|
for line in f:
|
||||||
|
|
Loading…
Reference in New Issue