def main():
""" Main setup function """
def urlr(exp):
return virtual_root + exp + "/*"
# Redirect workarounds if enabled
if config.ini.getboolean("cgi", "redirect-workaround"):
os.environ["SCRIPT_NAME"] = ''
os.environ["REAL_SCRIPT_NAME"] = ''
web.config.debug = config.ini.getboolean("cgi", "web-debug-mode")
web.config.session_parameters["timeout"] = config.ini.getint("http", "session-timeout")
web.config.session_parameters["cookie_name"] = config.ini.get("http", "session-cookie-name")
if config.ini.getboolean("cgi", "fastcgi"):
web.wsgi.runwsgi = lambda func, addr=None: web.wsgi.runfcgi(func, addr)
steam.api.key.set(config.ini.get("steam", "api-key"))
# Cache file stuff
cache_dir = config.ini.get("resources", "cache-dir")
if not os.path.exists(cache_dir):
os.makedirs(cache_dir)
urls = (
virtual_root + "api", api_views.subapplication,
urlr("inv/(?:user/)?(.+)"), "optf2.inventory_views.sim_selector",
urlr(""), "optf2.views.index",
urlr("about"), "optf2.views.about",
urlr("(\w+)/items"), "optf2.schema_views.items",
urlr("(\w+)/attributes/?(\d*)"), "optf2.schema_views.attributes",
urlr("(\w+)/particles"), "optf2.schema_views.particles",
urlr("(\w+)/item/(-?\d+)"), "optf2.inventory_views.item",
urlr("(\w+)/item/(\w+)/(-?\d+)"), "optf2.inventory_views.live_item",
urlr("(\w+)/loadout/(\w+)/?(\d*)"), "optf2.inventory_views.loadout",
urlr("(\w+)/feed/(.+)"), "optf2.inventory_views.feed",
urlr("(\w+)/(?:user/)?(.+)"), "optf2.inventory_views.fetch"
)
application = web.application(urls, globals())
application.notfound = notfound
if not config.ini.getboolean("cgi", "web-debug-mode"):
application.internalerror = internalerror
application.add_processor(web.loadhook(lang_hook))
application.add_processor(web.loadhook(motd_hook))
application.add_processor(web.loadhook(conf_hook))
return application
评论列表
文章目录