From bf289b1ee3dd1795f1a1fb9c8a8e905517f94094 Mon Sep 17 00:00:00 2001 From: khuxkm fbexl Date: Thu, 7 Oct 2021 00:37:52 +0000 Subject: [PATCH] wrap_generator is actually redundant since wrap_response does the same thing basically --- app.py | 32 ++++++++++++++------------------ 1 file changed, 14 insertions(+), 18 deletions(-) diff --git a/app.py b/app.py index 3ba4a04..a8bade1 100644 --- a/app.py +++ b/app.py @@ -108,34 +108,30 @@ def count_entries(ship): if line.startswith("0"+ship): count+=1 return count -def wrap_response(f): - @wraps(f) - def __wrapper(*args,**kwargs): - rv = f(*args,**kwargs) - if type(rv)!=Response: return Response(Status.SUCCESS,"text/gemini",rv) - return rv - return __wrapper - -def wrap_generator(g): - def __viewfunc(request,**kwargs): - return Response(Status.SUCCESS,"text/gemini",g(request,**kwargs)) - __viewfunc.__name__ = g.__name__ - return __viewfunc +def wrap_response(mimetype="text/gemini") + def __wrapfunc(f): + @wraps(f) + def __wrapper(*args,**kwargs): + rv = f(*args,**kwargs) + if type(rv)!=Response: return Response(Status.SUCCESS,"text/gemini",rv) + return rv + return __wrapper + return __wrapfunc app = DefaultToGopher() @app.route("(?:/(?:index\.gmi)?)?") -@wrap_response +@wrap_response() def index(request): return listing_generator(header_file="/var/cosmic/templates/geminiintro.tmpl",limit_line_count=RECENT_ENTRIES_COUNT) @app.route("/log(?:/(?:index\.gmi)?)?") -@wrap_response +@wrap_response() def log(request): return listing_generator(header_text="RS001 Log Entries (Newest First):") @app.route("/ships(?:/(?:index\.gmi)?)?") -@wrap_generator +@wrap_response() def ships(request): yield "# Ships and Outposts\n\n" for ship in sorted(os.listdir("/var/gopher")): @@ -147,7 +143,7 @@ def ships(request): yield f"=> /ships/{urlencoded}/ {ship} ({entries!s})\n" @app.route("/ships/(?P[^/]+)(?:/(?:index\.gmi)?)?") -@wrap_response +@wrap_response() def ship(request,ship=None): if ship is None: return Response(Status.BAD_REQUEST,"Bad Request") ship_unquoted = urllib.parse.unquote(ship) @@ -180,7 +176,7 @@ def ship(request,ship=None): return __generator() @app.route("/(?Prss|atom).xml") -@wrap_generator +@wrap_response() def feeds(request,format="atom"): with open(os.path.join("/var/gopher",format+".xml")) as f: for line in f: