| | import os |
| | import shutil |
| | from flask import Flask, send_from_directory, abort, render_template_string, send_file |
| | import requests |
| | import zipfile |
| |
|
| | |
| | temp_dir = "/tmp/cookieclicker_repo" |
| | zip_filename = "build.zip" |
| |
|
| | |
| | def clone_repo(): |
| | |
| | if os.path.exists(temp_dir): |
| | shutil.rmtree(temp_dir) |
| |
|
| | print("Cloning the repository...") |
| | result = os.system(f"git clone https://github.com/izum00/cookieclicker.git {temp_dir}") |
| | |
| | if result != 0: |
| | print("Error: Failed to clone the repository.") |
| | return |
| | else: |
| | |
| | index_html_path = os.path.join(temp_dir, 'index.html') |
| | if os.path.exists(index_html_path): |
| | if os.path.exists('index.html'): |
| | os.remove('index.html') |
| | shutil.move(index_html_path, '.') |
| |
|
| | |
| | if not os.path.exists('static'): |
| | os.mkdir('static') |
| |
|
| | for item in os.listdir(temp_dir): |
| | if item != 'index.html': |
| | shutil.move(os.path.join(temp_dir, item), os.path.join('static', item)) |
| |
|
| | |
| | create_zip() |
| |
|
| |
|
| | |
| | def create_zip(): |
| | if os.path.exists(zip_filename): |
| | os.remove(zip_filename) |
| |
|
| | with zipfile.ZipFile(zip_filename, 'w', zipfile.ZIP_DEFLATED) as zipf: |
| | |
| | zipf.write("index.html", "index.html") |
| |
|
| | |
| | for root, dirs, files in os.walk("static"): |
| | for file in files: |
| | full_path = os.path.join(root, file) |
| | arcname = os.path.relpath(full_path, ".") |
| | zipf.write(full_path, arcname) |
| |
|
| | print("ZIP created:", zip_filename) |
| |
|
| |
|
| | |
| | clone_repo() |
| |
|
| | |
| | app = Flask(__name__) |
| |
|
| | |
| | @app.route('/') |
| | def index(): |
| | |
| | if not os.path.exists("index.html"): |
| | return abort(404, description="index.html not found.") |
| |
|
| | |
| | with open("index.html", "r") as file: |
| | index_html_content = file.read() |
| |
|
| | js_code = """ |
| | <script> |
| | setInterval(() => { |
| | fetch('https://huggingface.co/spaces/soiz/cookie/raw/main/tof') |
| | .then(response => response.json()) |
| | .then(data => { |
| | if (data === 1) { |
| | const existingImg = document.querySelector('img'); |
| | if (!existingImg) { |
| | const img = document.createElement('img'); |
| | img.src = 'https://huggingface.co/spaces/soiz/cookie/raw/main/1.png'; |
| | img.style.position = 'fixed'; |
| | img.style.top = '0'; |
| | img.style.left = '0'; |
| | img.style.width = '100vw'; |
| | img.style.height = '100vh'; |
| | img.style.zIndex = '999999999999999999999999999999'; |
| | document.body.appendChild(img); |
| | } |
| | } else if (data === 0) { |
| | const existingImg = document.querySelector('img'); |
| | if (existingImg) { |
| | existingImg.remove(); |
| | existingImg.hidden = true; |
| | } |
| | } |
| | }) |
| | .catch(error => {}); |
| | }, 10000); |
| | </script> |
| | """ |
| |
|
| | index_html_content = index_html_content.replace("</body>", js_code + "</body>") |
| |
|
| | return render_template_string(index_html_content) |
| |
|
| |
|
| | |
| | @app.route('/<path:filename>') |
| | def static_files(filename): |
| | return send_from_directory('static', filename) |
| |
|
| |
|
| | |
| | @app.route('/check_main_js') |
| | def check_main_js(): |
| | if os.path.exists('static/main.js'): |
| | return "main.js exists." |
| | else: |
| | return "main.js does not exist." |
| |
|
| |
|
| | |
| | @app.route('/download_build') |
| | def download_build(): |
| | if not os.path.exists(zip_filename): |
| | return abort(404, description="ZIP file not found.") |
| | return send_file(zip_filename, as_attachment=True) |
| |
|
| |
|
| | |
| | if __name__ == '__main__': |
| | app.run(host='0.0.0.0', port=7860) |
| |
|