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
|
||||
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<ship>[^/]+)(?:/(?: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("/(?P<format>rss|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:
|
||||
|
|
Loading…
Reference in New Issue