cduss commited on
Commit
1e77c65
·
1 Parent(s): 2e4c51b

use default repo url

Browse files
Files changed (2) hide show
  1. app.py +2 -51
  2. engine.py +14 -10
app.py CHANGED
@@ -10,7 +10,6 @@ from typing import Optional
10
 
11
  import gradio as gr
12
  from fastrtc import WebRTC
13
- from fastapi.staticfiles import StaticFiles
14
 
15
  from engine import SceneState, POSITION_OFFSETS, Choice, InputRequest
16
  from story import build_sample_story
@@ -1432,61 +1431,13 @@ def build_app() -> gr.Blocks:
1432
 
1433
  def main() -> None:
1434
  """Launch the Visual Novel Gradio app."""
1435
- from fastapi.responses import FileResponse
1436
- from fastapi import HTTPException
1437
-
1438
- logger.info(f"=== Visual Novel App Startup ===")
1439
-
1440
- # Get absolute paths for static directories
1441
- script_dir = os.path.dirname(os.path.abspath(__file__))
1442
- assets_dir = os.path.join(script_dir, "assets")
1443
- logger.info(f"Assets directory: {assets_dir}")
1444
 
1445
  # Build Gradio app
1446
- logger.info("Building Gradio app...")
1447
  demo = build_app()
1448
 
1449
- # Enable queue to access the FastAPI app
1450
- logger.info("Enabling queue...")
1451
- demo.queue()
1452
-
1453
- # Add custom route for serving assets
1454
- logger.info("Adding custom asset route handler...")
1455
-
1456
- # First, add a test route to verify routing works at all
1457
- @demo.app.get("/test-route")
1458
- async def test_route():
1459
- """Test route to verify custom routes work."""
1460
- logger.info("TEST ROUTE HIT!")
1461
- return {"status": "success", "message": "Custom routes are working!"}
1462
-
1463
- @demo.app.get("/assets/{category}/{filename:path}")
1464
- async def serve_asset(category: str, filename: str):
1465
- """Serve asset files with proper MIME types."""
1466
- import mimetypes
1467
-
1468
- filepath = os.path.join(assets_dir, category, filename)
1469
- logger.info(f"Asset request: /assets/{category}/{filename} -> {filepath}")
1470
-
1471
- if not os.path.exists(filepath):
1472
- logger.error(f"File not found: {filepath}")
1473
- raise HTTPException(status_code=404, detail="File not found")
1474
-
1475
- # Get MIME type
1476
- mime_type, _ = mimetypes.guess_type(filepath)
1477
- logger.info(f"Serving {filepath} as {mime_type}")
1478
-
1479
- return FileResponse(filepath, media_type=mime_type)
1480
-
1481
- # List all registered routes for debugging
1482
- logger.info("Registered routes:")
1483
- for route in demo.app.routes:
1484
- logger.info(f" {route.methods if hasattr(route, 'methods') else 'N/A'} {route.path}")
1485
-
1486
- logger.info("Custom asset route registered!")
1487
-
1488
  # Launch with SSR disabled
1489
- logger.info("Launching app...")
1490
  demo.launch(
1491
  server_name="0.0.0.0",
1492
  server_port=7860,
 
10
 
11
  import gradio as gr
12
  from fastrtc import WebRTC
 
13
 
14
  from engine import SceneState, POSITION_OFFSETS, Choice, InputRequest
15
  from story import build_sample_story
 
1431
 
1432
  def main() -> None:
1433
  """Launch the Visual Novel Gradio app."""
1434
+ logger.info("=== Visual Novel App Startup ===")
1435
+ logger.info("Using HuggingFace repo URLs for assets")
 
 
 
 
 
 
 
1436
 
1437
  # Build Gradio app
 
1438
  demo = build_app()
1439
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1440
  # Launch with SSR disabled
 
1441
  demo.launch(
1442
  server_name="0.0.0.0",
1443
  server_port=7860,
engine.py CHANGED
@@ -21,25 +21,29 @@ POSITION_OFFSETS = {
21
  }
22
 
23
 
24
- # Asset helper functions - using custom route handler
 
 
 
 
25
  def background_asset(filename: str) -> str:
26
- """Get the URL for a background image."""
27
- url = f"/assets/backgrounds/{filename}"
28
- logger.info(f"background_asset({filename}) -> {url}")
29
  return url
30
 
31
 
32
  def sprite_asset(filename: str) -> str:
33
- """Get the URL for a sprite image."""
34
- url = f"/assets/sprites/{filename}"
35
- logger.info(f"sprite_asset({filename}) -> {url}")
36
  return url
37
 
38
 
39
  def audio_asset(filename: str) -> str:
40
- """Get the URL for an audio file."""
41
- url = f"/assets/audio/{filename}"
42
- logger.info(f"audio_asset({filename}) -> {url}")
43
  return url
44
 
45
 
 
21
  }
22
 
23
 
24
+ # HuggingFace Space configuration
25
+ HF_SPACE_REPO = "cduss/reachymini_vn_example"
26
+ HF_BASE_URL = f"https://huggingface.co/spaces/{HF_SPACE_REPO}/resolve/main"
27
+
28
+ # Asset helper functions - HuggingFace repo URLs
29
  def background_asset(filename: str) -> str:
30
+ """Get the URL for a background image from HF repo."""
31
+ url = f"{HF_BASE_URL}/assets/backgrounds/{filename}"
32
+ logger.info(f"Background asset: {url}")
33
  return url
34
 
35
 
36
  def sprite_asset(filename: str) -> str:
37
+ """Get the URL for a sprite image from HF repo."""
38
+ url = f"{HF_BASE_URL}/assets/sprites/{filename}"
39
+ logger.info(f"Sprite asset: {url}")
40
  return url
41
 
42
 
43
  def audio_asset(filename: str) -> str:
44
+ """Get the URL for an audio file from HF repo."""
45
+ url = f"{HF_BASE_URL}/assets/audio/{filename}"
46
+ logger.info(f"Audio asset: {url}")
47
  return url
48
 
49