فهرست منبع

A Python Generator

We can now change skript.js via python.

This means:
- Using either `./generator.py` or `python3 generator.py` will run the
  script to make a new spacebar and card.
- skript.js can be used after the generator.py script has ran, and
  should be ready for deployment... (Once CSS sanitation is done)
david 11 ماه پیش
والد
کامیت
eedfcf8797
1فایلهای تغییر یافته به همراه49 افزوده شده و 0 حذف شده
  1. 49 0
      generator.py

+ 49 - 0
generator.py

@@ -0,0 +1,49 @@
+#!/usr/bin/env python3
+
+from os.path import exists
+from random import randrange
+
+LETTERS = "abcdefghijklmnopqrstuvwxyz0123456789"
+letter_len = len(LETTERS)
+
+def spacebar(length: int):
+    picked = ""
+    while len(picked) < length:
+        pick = LETTERS[randrange(0, letter_len)]
+        if pick in picked:
+            continue
+        picked += pick
+    return picked
+
+def card():
+    picked = ""
+    while len(picked) < letter_len:
+        pick = LETTERS[randrange(0, letter_len)]
+        if pick in picked:
+            continue
+        picked += pick
+    return picked
+
+def modify_skript(spacebar, card):
+    old = []
+    if not exists("skript.js"):
+        return False
+    with open("skript.js", "r") as f:
+        for line in f:
+            if line.startswith("let spacebar"):
+                old.append(f"let spacebar = \"{spacebar}\";\n")
+            elif line.startswith("let keys"):
+                old.append(f"let keys = \"{card}\".split(\"\");\n")
+            else:
+                old.append(line)
+    with open("skript.js", "w") as f:
+        for line in old:
+            f.write(line)
+    return True
+
+if __name__ == "__main__":
+    sb = spacebar(6)
+    c = card()
+    print(f"SpaceBar: {sb}")
+    print(f"Card:     {c}")
+    modify_skript(sb, c)