mirror of
https://github.com/ArchipelagoMW/Archipelago.git
synced 2026-04-09 17:58:24 -07:00
WebHost: invert multitracker control back to webhost
This commit is contained in:
@@ -156,9 +156,12 @@ class WebWorld:
|
||||
"""Choose a theme for you /game/* pages.
|
||||
Available: dirt, grass, grassFlowers, ice, jungle, ocean, partyTime, stone"""
|
||||
|
||||
bug_report_page: Optional[str]
|
||||
bug_report_page: Optional[str] = None
|
||||
"""display a link to a bug report page, most likely a link to a GitHub issue page."""
|
||||
|
||||
multitracker_template: Optional[str] = None
|
||||
"""relative path with /-seperator to a MultiTracker Template file."""
|
||||
|
||||
# allows modification of webhost during startup, this is run once
|
||||
@classmethod
|
||||
def run_webhost_setup(cls):
|
||||
|
||||
@@ -61,36 +61,8 @@ class FactorioWeb(WebWorld):
|
||||
["Berserker, Farrak Kilhn"]
|
||||
)]
|
||||
|
||||
@classmethod
|
||||
def run_webhost_app_setup(cls, app):
|
||||
from uuid import UUID
|
||||
import pkgutil
|
||||
multitracker_template = "data/web/templates/MultiTracker.html"
|
||||
|
||||
from werkzeug.exceptions import abort
|
||||
from flask import render_template
|
||||
|
||||
from WebHostLib import cache
|
||||
from WebHostLib.tracker import (_get_multiworld_tracker_data, _get_inventory_data,
|
||||
get_enabled_multiworld_trackers, multi_trackers)
|
||||
|
||||
|
||||
multitracker_template = pkgutil.get_data(__name__, "data/web/templates/MultiTracker.html").decode()
|
||||
multitracker_template = app.jinja_env.from_string(multitracker_template)
|
||||
|
||||
@app.route('/tracker/<suuid:tracker>/Factorio')
|
||||
@cache.memoize(timeout=60) # multisave is currently created up to every minute
|
||||
def get_Factorio_multiworld_tracker(tracker: UUID):
|
||||
data = _get_multiworld_tracker_data(tracker)
|
||||
if not data:
|
||||
abort(404)
|
||||
|
||||
data["inventory"] = _get_inventory_data(data)
|
||||
data["enabled_multiworld_trackers"] = get_enabled_multiworld_trackers(data["room"], "Factorio")
|
||||
data["item_name_to_id"] = Factorio.item_name_to_id
|
||||
|
||||
return render_template(multitracker_template, **data)
|
||||
|
||||
multi_trackers[Factorio.game] = get_Factorio_multiworld_tracker
|
||||
|
||||
class FactorioItem(Item):
|
||||
game = "Factorio"
|
||||
|
||||
Reference in New Issue
Block a user