Spaces:
Runtime error
Runtime error
import subprocess | |
import sys | |
import gradio as gr | |
# Install Flask if not already installed | |
def install_flask(): | |
try: | |
import flask | |
except ImportError: | |
subprocess.run([sys.executable, "-m", "pip", "install", "flask"], check=True) | |
# Install Flask on startup | |
install_flask() | |
# Now import Flask | |
from flask import Flask, send_from_directory | |
# Clone the Mario game repository | |
def install_package(): | |
subprocess.run(["git", "clone", "https://github.com/reruns/mario.git", "mario"], check=True) | |
# Install the game files on startup | |
install_package() | |
# Create a Flask app to serve static files | |
flask_app = Flask(__name__) | |
# Serve static files (JavaScript, CSS, assets, etc.) | |
def serve_static(path): | |
return send_from_directory("mario", path) | |
# Read the index.html file | |
def serve_game(): | |
with open("mario/index.html", "r") as file: | |
html_content = file.read() | |
return html_content | |
# Create a Gradio interface | |
iface = gr.Interface( | |
fn=serve_game, # Function to generate the HTML content | |
inputs=None, # No inputs needed | |
outputs=gr.HTML(), # Output is HTML content | |
live=True, # Keep the interface live | |
title="Mario HTML Game", | |
description="Play the Mario HTML game embedded in Gradio!" | |
) | |
# Launch the Gradio app | |
iface.launch(server_name="0.0.0.0", server_port=7860) |