|
6 | 6 | from pygments.lexers import Python3Lexer |
7 | 7 | from pygments.styles import get_all_styles |
8 | 8 |
|
9 | | -from utils import take_screenshot |
| 9 | +from utils import take_screenshot_from_url |
10 | 10 |
|
11 | 11 | app = Flask(__name__) |
12 | 12 | app.secret_key = "mysecretkey" |
@@ -36,50 +36,49 @@ def save_code(): |
36 | 36 | return redirect(url_for("code")) |
37 | 37 |
|
38 | 38 |
|
39 | | -@app.route("/reset_session", methods=["GET"]) |
| 39 | +@app.route("/reset_session", methods=["POST"]) |
40 | 40 | def reset_session(): |
41 | 41 | session.clear() |
42 | 42 | session["code"] = PLACEHOLDER_CODE |
43 | 43 | return redirect(url_for("code")) |
44 | 44 |
|
45 | 45 |
|
46 | | -@app.route("/save_style", methods=["POST"]) |
47 | | -def save_style(): |
48 | | - if request.form.get("style") is not None: |
49 | | - session["style"] = request.form.get("style") |
50 | | - if request.form.get("code") is not None: |
51 | | - session["code"] = request.form.get("code") or NO_CODE_FALLBACK |
52 | | - return redirect(url_for("style")) |
53 | | - |
54 | | - |
55 | 46 | @app.route("/style", methods=["GET"]) |
56 | 47 | def style(): |
57 | 48 | if session.get("style") is None: |
58 | 49 | session["style"] = DEFAULT_STYLE |
59 | 50 | formatter = HtmlFormatter(style=session["style"]) |
60 | 51 | context = { |
61 | 52 | "message": "Select Your Style 🎨", |
62 | | - "code": session["code"], |
63 | 53 | "all_styles": list(get_all_styles()), |
64 | 54 | "style": session["style"], |
65 | | - "style_bg_color": formatter.style.background_color, |
66 | 55 | "style_definitions": formatter.get_style_defs(), |
| 56 | + "style_bg_color": formatter.style.background_color, |
67 | 57 | "highlighted_code": highlight( |
68 | 58 | session["code"], Python3Lexer(), formatter |
69 | 59 | ), |
70 | 60 | } |
71 | 61 | return render_template("style_selection.html", **context) |
72 | 62 |
|
73 | 63 |
|
| 64 | +@app.route("/save_style", methods=["POST"]) |
| 65 | +def save_style(): |
| 66 | + if request.form.get("style") is not None: |
| 67 | + session["style"] = request.form.get("style") |
| 68 | + if request.form.get("code") is not None: |
| 69 | + session["code"] = request.form.get("code") or NO_CODE_FALLBACK |
| 70 | + return redirect(url_for("style")) |
| 71 | + |
| 72 | + |
74 | 73 | @app.route("/image", methods=["GET"]) |
75 | 74 | def image(): |
76 | | - session_dict = { |
| 75 | + session_data = { |
77 | 76 | "name": app.config["SESSION_COOKIE_NAME"], |
78 | 77 | "value": request.cookies.get(app.config["SESSION_COOKIE_NAME"]), |
79 | 78 | "url": request.host_url, |
80 | 79 | } |
81 | 80 | target_url = request.host_url + url_for("style") |
82 | | - image_bytes = take_screenshot(target_url, session_dict) |
| 81 | + image_bytes = take_screenshot_from_url(target_url, session_data) |
83 | 82 | context = { |
84 | 83 | "message": "Done! 🎉", |
85 | 84 | "image_b64": base64.b64encode(image_bytes).decode("utf-8"), |
|
0 commit comments