import flask app = flask.Flask( __name__, template_folder="templates", static_folder="static" ) @app.route("/channel//") def channel_name(name): messages = flask._app_ctx_stack.channels[name] channels = list(flask._app_ctx_stack.channels.keys()) groups = list(flask._app_ctx_stack.groups.keys()) if flask._app_ctx_stack.groups else {} dm_users = list(flask._app_ctx_stack.dm_users) mpim_users = list(flask._app_ctx_stack.mpim_users) return flask.render_template("viewer.html", messages=messages, name=name.format(name=name), channels=sorted(channels), groups=sorted(groups) if groups else {}, dm_users=dm_users, mpim_users=mpim_users, no_sidebar=app.no_sidebar, no_external_references=app.no_external_references) @app.route("/group//") def group_name(name): messages = flask._app_ctx_stack.groups[name] channels = list(flask._app_ctx_stack.channels.keys()) groups = list(flask._app_ctx_stack.groups.keys()) dm_users = list(flask._app_ctx_stack.dm_users) mpim_users = list(flask._app_ctx_stack.mpim_users) return flask.render_template("viewer.html", messages=messages, name=name.format(name=name), channels=sorted(channels), groups=sorted(groups), dm_users=dm_users, mpim_users=mpim_users, no_sidebar=app.no_sidebar, no_external_references=app.no_external_references) @app.route("/dm//") def dm_id(id): messages = flask._app_ctx_stack.dms[id] channels = list(flask._app_ctx_stack.channels.keys()) groups = list(flask._app_ctx_stack.groups.keys()) dm_users = list(flask._app_ctx_stack.dm_users) mpim_users = list(flask._app_ctx_stack.mpim_users) return flask.render_template("viewer.html", messages=messages, id=id.format(id=id), channels=sorted(channels), groups=sorted(groups), dm_users=dm_users, mpim_users=mpim_users, no_sidebar=app.no_sidebar, no_external_references=app.no_external_references) @app.route("/mpim//") def mpim_name(name): messages = flask._app_ctx_stack.mpims.get(name, list()) channels = list(flask._app_ctx_stack.channels.keys()) groups = list(flask._app_ctx_stack.groups.keys()) dm_users = list(flask._app_ctx_stack.dm_users) mpim_users = list(flask._app_ctx_stack.mpim_users) return flask.render_template("viewer.html", messages=messages, name=name.format(name=name), channels=sorted(channels), groups=sorted(groups), dm_users=dm_users, mpim_users=mpim_users, no_sidebar=app.no_sidebar, no_external_references=app.no_external_references) @app.route("/") def index(): channels = list(flask._app_ctx_stack.channels.keys()) groups = list(flask._app_ctx_stack.groups.keys()) dms = list(flask._app_ctx_stack.dms.keys()) mpims = list(flask._app_ctx_stack.mpims.keys()) if channels: if "general" in channels: return channel_name("general") else: return channel_name(channels[0]) elif groups: return group_name(groups[0]) elif dms: return dm_id(dms[0]) elif mpims: return mpim_name(mpims[0]) else: return "No content was found in your export that we could render."