File size: 2,216 Bytes
5312808
be8a5d3
1a28ce3
5312808
be8a5d3
b22d44e
be8a5d3
63e1b1c
 
be8a5d3
 
 
 
 
 
305b2db
be8a5d3
 
63e1b1c
427bc20
4cf1b21
 
427bc20
 
 
4cf1b21
be8a5d3
427bc20
 
489bf3c
 
 
 
 
 
63e1b1c
 
 
5312808
7847b1d
 
5312808
7847b1d
 
 
1a28ce3
 
 
7847b1d
5312808
489bf3c
 
 
 
 
10dd0f8
 
 
 
 
 
 
 
7847b1d
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
import os
import shutil
from flask import Flask, send_from_directory, abort

# リポジトリをクローンするディレクトリ
temp_dir = "/tmp/cookieclicker_repo"

# リポジトリのクローンを行う
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/ozh/cookieclicker.git {temp_dir}")
    
    if result != 0:
        print("Error: Failed to clone the repository.")
    else:
        # index.htmlを削除(存在する場合)
        index_html_path = os.path.join(temp_dir, 'index.html')
        if os.path.exists(index_html_path):
            # もしカレントディレクトリに既にindex.htmlが存在する場合は削除
            if os.path.exists('index.html'):
                os.remove('index.html')

        # index.htmlをカレントディレクトリに移動
        shutil.move(index_html_path, '.')

        # 静的ファイルをstaticディレクトリに移動
        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))

# クローンを実行
clone_repo()

# Flaskアプリケーションの設定
app = Flask(__name__)

# ルートでindex.htmlを表示
@app.route('/')
def index():
    # index.htmlが存在しない場合は404エラー
    if not os.path.exists("index.html"):
        return abort(404, description="index.html not found.")
    return send_from_directory('.', 'index.html')

# 静的ファイルを提供するためのルート
@app.route('/<path:filename>')
def static_files(filename):
    return send_from_directory('static', filename)

# main.jsの存在を確認するエンドポイント
@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."

if __name__ == '__main__':
    # port 7860でFlaskアプリを起動
    app.run(host='0.0.0.0', port=7860)