Просмотр исходного кода

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 6 месяцев назад
Родитель
Сommit
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)