Update app.py
Browse files
app.py
CHANGED
|
@@ -81,6 +81,7 @@ BLOCKS_DIR = BASE_DIR / "blocks"
|
|
| 81 |
BACKDROP_DIR = BLOCKS_DIR / "Backdrops"
|
| 82 |
SPRITE_DIR = BLOCKS_DIR / "sprites"
|
| 83 |
CODE_BLOCKS_DIR = BLOCKS_DIR / "code_blocks"
|
|
|
|
| 84 |
|
| 85 |
# BASE_DIR = Path("/app")
|
| 86 |
# BLOCKS_DIR = BASE_DIR / "blocks"
|
|
@@ -104,6 +105,7 @@ for d in (
|
|
| 104 |
BACKDROP_DIR,
|
| 105 |
SPRITE_DIR,
|
| 106 |
CODE_BLOCKS_DIR,
|
|
|
|
| 107 |
OUTPUT_DIR,
|
| 108 |
):
|
| 109 |
d.mkdir(parents=True, exist_ok=True)
|
|
@@ -3022,6 +3024,18 @@ def download_pdf(project_id):
|
|
| 3022 |
download_name=pdf_path.name
|
| 3023 |
)
|
| 3024 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3025 |
# API endpoint
|
| 3026 |
@app.route('/process_pdf', methods=['POST'])
|
| 3027 |
def process_pdf():
|
|
|
|
| 81 |
BACKDROP_DIR = BLOCKS_DIR / "Backdrops"
|
| 82 |
SPRITE_DIR = BLOCKS_DIR / "sprites"
|
| 83 |
CODE_BLOCKS_DIR = BLOCKS_DIR / "code_blocks"
|
| 84 |
+
SOUND_DIR = BLOCKS_DIR / "sound"
|
| 85 |
|
| 86 |
# BASE_DIR = Path("/app")
|
| 87 |
# BLOCKS_DIR = BASE_DIR / "blocks"
|
|
|
|
| 105 |
BACKDROP_DIR,
|
| 106 |
SPRITE_DIR,
|
| 107 |
CODE_BLOCKS_DIR,
|
| 108 |
+
SOUND_DIR,
|
| 109 |
OUTPUT_DIR,
|
| 110 |
):
|
| 111 |
d.mkdir(parents=True, exist_ok=True)
|
|
|
|
| 3024 |
download_name=pdf_path.name
|
| 3025 |
)
|
| 3026 |
|
| 3027 |
+
@app.route("/download_sound/<sound_id>", methods=["GET"])
|
| 3028 |
+
def download_sound(sound_id):
|
| 3029 |
+
sound_path = SOUND_DIR / f"{sound_id}.wav"
|
| 3030 |
+
if not sound_path.exists():
|
| 3031 |
+
return jsonify({"error": "Scratch project sound file not found"}), 404
|
| 3032 |
+
|
| 3033 |
+
return send_file(
|
| 3034 |
+
sound_path,
|
| 3035 |
+
as_attachment=True,
|
| 3036 |
+
download_name=sound_path.name
|
| 3037 |
+
)
|
| 3038 |
+
|
| 3039 |
# API endpoint
|
| 3040 |
@app.route('/process_pdf', methods=['POST'])
|
| 3041 |
def process_pdf():
|