MCPcopy Create free account
hub / github.com/CodeClash-ai/CodeClash / setup_freezer

Function setup_freezer

scripts/freeze_viewer.py:19–104  ·  view source on GitHub ↗

Set up the Frozen-Flask freezer with proper configuration

(output_dir: str = "build")

Source from the content-addressed store, hash-verified

17
18
19def setup_freezer(output_dir: str = "build") -> Freezer:
20 """Set up the Frozen-Flask freezer with proper configuration"""
21
22 # Configure Flask app for static generation
23 app.config["FREEZER_DESTINATION"] = output_dir
24 app.config["FREEZER_RELATIVE_URLS"] = True
25 app.config["FREEZER_IGNORE_MIMETYPE_WARNINGS"] = True
26 # Ensure HTML files have .html extension
27 app.config["FREEZER_DEFAULT_MIMETYPE"] = "text/html"
28 # Don't fail on 404s (API endpoints return 404 in static mode)
29 app.config["FREEZER_IGNORE_404_NOT_FOUND"] = True
30
31 # Enable static mode
32 set_static_mode(True)
33
34 # Create freezer with custom configuration
35 freezer = Freezer(app)
36
37 # Explicitly register ALL generators to disable automatic route discovery
38 # This prevents Flask-Frozen from trying to freeze API endpoints
39
40 @freezer.register_generator
41 def index():
42 """Only freeze the root index"""
43 print(" Generating URL for index...")
44 yield {}
45
46 @freezer.register_generator
47 def game_picker():
48 """Freeze game picker"""
49 print(" Generating URL for game_picker...")
50 yield {}
51
52 @freezer.register_generator
53 def game_view():
54 """Freeze all game views"""
55 from codeclash.viewer.app import LOG_BASE_DIR
56
57 game_folders = find_all_game_folders(LOG_BASE_DIR)
58 print(f" Generating URLs for {len(game_folders)} game view(s)...")
59 for game_folder in game_folders:
60 yield {"folder_path": game_folder["name"]}
61
62 # Register empty generators for API endpoints we want to skip
63 @freezer.register_generator
64 def download_file():
65 return []
66
67 @freezer.register_generator
68 def load_log():
69 return []
70
71 @freezer.register_generator
72 def load_trajectory_details():
73 return []
74
75 @freezer.register_generator
76 def load_trajectory_diffs():

Callers 1

mainFunction · 0.85

Calls 1

set_static_modeFunction · 0.90

Tested by

no test coverage detected