File size: 4,025 Bytes
609ed21
aeea18d
0e6f104
 
609ed21
 
 
3d3998b
609ed21
3d3998b
 
 
 
0e6f104
1e53e30
609ed21
 
aeea18d
 
 
c33c07d
609ed21
2ebd074
 
609ed21
2ebd074
 
0e6f104
 
 
 
2ebd074
0e6f104
 
609ed21
 
2ebd074
aeea18d
0e6f104
aeea18d
609ed21
 
 
 
 
 
 
 
 
 
 
 
 
aeea18d
609ed21
0e6f104
609ed21
 
0e6f104
609ed21
 
 
 
 
 
 
 
0e6f104
 
 
 
aeea18d
 
 
609ed21
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7395924
609ed21
 
c6fb948
aeea18d
 
609ed21
 
 
 
 
 
 
 
 
 
7395924
 
609ed21
 
 
 
 
 
 
 
0e6f104
609ed21
0e6f104
 
609ed21
0e6f104
 
 
 
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125


#

# -*- coding: utf-8 -*-
##!kill -9 "$(pgrep ngrok)"
import sys; import os; cpa=os.environ.get("cpa")
import subprocess,re,requests,threading

def repo_clone(url, dir, branch=None):
    subprocess.run([b'\x67\x69\x74'.decode(), b'\x63\x6C\x6F\x6E\x65'.decode(), url, dir], check=True)
    if branch:
        subprocess.run(["git", "checkout", branch], cwd=dir, check=True)

#
face="1000"
##face="face"
if os.environ.get("SPACE_HOST"):
    face="face"
    saty=os.environ.get("saty")
if face=="face":1
elif not cpa:
##  from google.colab import drive
##  drive.mount('/content/gdrive/', force_remount=True)
  sys.path.append("/content/gdrive/MyDrive/w")
  sys.path.append("/content/c2")
  sys.path.append("/content/c2/")
  if os.path.isdir("/kaggle"):
    os.chdir("/kaggle")
    sys.path.append("/kaggle/c2")
    #sys.path.append("/c2/");
##  sys.path.append("/ciph")
  if not os.path.isdir(f:="c2"): repo_clone("https://huggingface.co/spaces/compileprincess/ciph",f)
  print("fwfw;"*10)
  os.environ["tmp"]="/tmp"; os.makedirs("/tmp",exist_ok=True)
else:
    import sys;import os;sys.path.append(os.environ["cpy"]+r"\Mjmoji");
##from mw import wfd, inidi, impt, time
print("mw;",face, os.getcwd(), os.path.isdir(f:="c2"), os.path.isfile("c2/mw.py"))
from mw import *


import flask as flas
from flask import Flask, render_template, request, redirect, Response
def disablelog():
    import flask.cli
    flask.cli.show_server_banner = lambda *w: None
    import logging
    logging.getLogger(b'\x77\x65\x72\x6B\x7A\x65\x75\x67'.decode()).disabled = True# log of flas
disablelog()

import json
app = Flask(__name__)
app.mimi=hhww()
app.t0=time.perf_counter()
app.saty=saty
handle_post="/handle_post"
if face=="face":
    mid="/home/user/appli"
    mid=""
    #handle_post=os.environ.get("handle_post")
elif not cpa:
    mid=("/content/gdrive/MyDrive/w")
    from pyngrok import conf, ngrok
##    exec("conf.get_default().auth_"+b'\x74\x6F\x6B\x65\x6E'.decode()+" = sign"
    port=5000
    conf.get_default().monitor_thread = False
    p = ngrok.connect(port).public_url
##
##        ngrok.kill()
##        sys.exit()
    print("tunnel \"{}\" -> \"://127.0.0.1:{}\"".format(p, port))
    apl({"fp":"up2", "dir":"w", "fn":"f", "te":json.dumps({"dres":p, "date":repr(time.time())})})
    app.config["BASE_URL"] = p
#

def pr2(*w): print(*w)
def run1(data):
    for fn,fil in [f for f2 in ("limp",) for f in data.get(f2) or ()]:
        if "te" in fn:
            fn2=fn.get("of", fn["fn"])
            wfd("c2/"+fn2).w(fn["te"],0,0,0)
            if mid:
                pr2(mid+"/"+fn2)
                wfd(mid+"/"+fn2).w(fn["te"],0,0,0)
    for fn,fil in data.get("limp") or ():
        fn2=fn.get("of", fn["fn"])
##        pr2(f"run({fn['fn']} reload={fn['reload']})")
        if(re.search(r"\.pyw?$",fn2)):
            #pr2(sys.modules[cfile(fn2)])
            impt1(("c2/"+fn2),reload=fn['reload'])
@app.post(handle_post)
def handle_post():
    header=(dict(request.headers));
    if not saty: '{"e2":"set pass"}'
    if header.get("Saty")!=saty:return '{"e2":"set header"}'
    try:
        #print(request.get_data())
        if request.is_json and (data:=request.get_json()):
          if "1" in data:
            e={}
            exec(data["1"],globals(),e)
            lit={"et":(e["et"])}
          elif ("limp" in data):
            run1(data)
            lit={"te":"up limp"}
          else: return impt1("c2/top/impt.py",reload=0).flap(app, request)
        else: return impt1("c2/top/impt.py",reload=0).flap(app, request)
        return json.dumps(lit)
    except Exception as e:
        import traceback
        e2=traceback.format_exc()
        lit={"e2":e2}
        return json.dumps(lit)
@app.get("/")
def read_root():
    return {"Hello": "World,,,,;"}
if __name__ == '__main__':
    if face=="face":
        hh,fl=hhfl([["-f",""],["-port",""],["-host","0.0.0.0"]],flinput=0)
        print(hh)
        if hh.port:
            app.run(host=hh.host, port=hh.port or 5000)
    else:
        app.run(port=5000)