summaryrefslogtreecommitdiff
path: root/app.py
diff options
context:
space:
mode:
Diffstat (limited to 'app.py')
-rw-r--r--app.py102
1 files changed, 101 insertions, 1 deletions
diff --git a/app.py b/app.py
index 6a98763..af687e4 100644
--- a/app.py
+++ b/app.py
@@ -25,6 +25,99 @@ GUEST_CAPTCHA = Captcha.from_string(
5, "m...cena....m...ebneb.clm", ".........................", True
)
+GUIDE_CAPTCHAS = {
+ "Layer 01": [
+ Captcha.from_string(2, "a...", "...."),
+ Captcha.from_string(2, "aaa.", "01.."),
+ Captcha.from_string(2, "aaaa", "...."),
+ ],
+ "Layer 02": [
+ Captcha.from_string(2, "b...", "...."),
+ Captcha.from_string(2, "b.b.", "0.1."),
+ Captcha.from_string(2, "bbbb", "00.."),
+ ],
+ "Layer 03": [
+ Captcha.from_string(2, "c...", "...."),
+ Captcha.from_string(2, "c...", ".11."),
+ Captcha.from_string(2, "c.c.", "1.1."),
+ ],
+ "Layer 04": [
+ Captcha.from_string(2, "ac..", "01.."),
+ Captcha.from_string(2, "ab..", "...."),
+ Captcha.from_string(2, "bba.", "...."),
+ ],
+ "Layer 05": [
+ Captcha.from_string(2, "d...", "1..."),
+ Captcha.from_string(2, "d...", "..1."),
+ Captcha.from_string(2, "d..d", "...1"),
+ ],
+ "Layer 06": [
+ Captcha.from_string(3, "c.c.c.c.c", "........."),
+ Captcha.from_string(3, "c.b...b.a", "........."),
+ Captcha.from_string(3, "d...d...d", "........."),
+ ],
+ "Layer 11": [
+ Captcha.from_string(3, "m.m......", "10.10.00."),
+ Captcha.from_string(3, "m.......m", "10.10.01."),
+ Captcha.from_string(3, "m.m...m.m", "1.1...2.2"),
+ ],
+ "Layer 12": [
+ Captcha.from_string(3, "m.m...n.n", "1.1...2.2"),
+ Captcha.from_string(3, "m.n...n.m", "1.1...2.2"),
+ Captcha.from_string(3, "m.m...n.n", "1.2....0."),
+ ],
+ "Layer 13": [
+ Captcha.from_string(4, "m....m..........", "11..10.........."),
+ Captcha.from_string(4, "mmnn......cc...c", "01230...0...0..."),
+ Captcha.from_string(4, "mn............nm", "1...11.........."),
+ Captcha.from_string(4, "mn..nm........nm", "................"),
+ ],
+ "Layer 14": [
+ Captcha.from_string(4, "m..a.m.........d", "11..10.......0.."),
+ Captcha.from_string(4, "m..a.m.........d", "11..10.......2.."),
+ Captcha.from_string(4, "m..a.md........d", "11..10.......0.."),
+ Captcha.from_string(4, "m.bn.mc.....n..d", "11..10.......2.."),
+ ],
+ "Layer 21": [
+ Captcha.from_string(3, "....v....", "0101.10.0"),
+ Captcha.from_string(3, "....v....", "1101.10.0"),
+ Captcha.from_string(3, "v.......v", "1101020.."),
+ ],
+ "Layer 22": [
+ Captcha.from_string(3, "v....v.v.", "0......1."),
+ Captcha.from_string(3, "vm.....m.", ".1.....0."),
+ Captcha.from_string(3, "v..m.m.v.", ".....1.0."),
+ ],
+ "Layer 23": [
+ Captcha.from_string(3, "....l....", "...010..."),
+ Captcha.from_string(3, ".l..l..l.", ".1..0..1."),
+ Captcha.from_string(3, "..l.l.l..", ".1011...."),
+ ],
+ "Layer 24": [
+ Captcha.from_string(3, "...cl...d", "....1...."),
+ Captcha.from_string(3, "l...d...l", "........."),
+ Captcha.from_string(3, "l...a.b.l", "........."),
+ ],
+ "Layer 31": [
+ Captcha.from_string(3, "r...c...r", "31.312.1."),
+ Captcha.from_string(3, "r.b.c.b.r", "........."),
+ Captcha.from_string(3, "raa.d.a.r", "........."),
+ ],
+ "Layer 32": [
+ Captcha.from_string(3, "....e....", "0001020.0"),
+ Captcha.from_string(3, "....e....", "....2...."),
+ Captcha.from_string(3, "e.e...e.e", "........."),
+ ],
+ "Layer 33": [
+ Captcha.from_string(3, "ebebb.e.e", ".1.23...."),
+ Captcha.from_string(3, "eaeac.e.e", "........."),
+ Captcha.from_string(3, "eaebede.e", "........."),
+ ],
+ "Layer 34": [
+ Captcha.from_string(4, "er...em..me.dbre", "................"),
+ ],
+}
+
def get_db():
if "db" not in g:
@@ -45,7 +138,9 @@ def has_captcha(captcha_id):
def add_captcha(captcha_id):
if "captcha" not in session:
session["captcha"] = []
- session["captcha"].append(captcha_id)
+ if captcha_id not in session["captcha"]:
+ session["captcha"].append(captcha_id)
+ session.modified = True
app = Flask(__name__)
@@ -134,6 +229,11 @@ def guest_login():
return render_template("guest.html", captcha=GUEST_CAPTCHA)
+@app.route("/eguide")
+def eguide():
+ return render_template("eguide.html", captchas=GUIDE_CAPTCHAS)
+
+
@app.route("/logout")
def logout():
if "username" in session: