Compare commits

...

2 commits

Author SHA1 Message Date
76c1a5fd04 #1: katex-server si nyní sám volá npm install
Po poradě s kamarády pythonáři se to asi tak má dělat, i když je to trochu eh
2023-07-18 17:47:29 +02:00
7b77499012 #1: Zabalíčkování katex-serveru 2023-07-18 17:15:09 +02:00
9 changed files with 25 additions and 3 deletions

1
.gitignore vendored
View file

@ -14,3 +14,4 @@ public/
**/*.egg-info
build/
dist/
**/node_modules

View file

@ -1,10 +1,11 @@
[build-system]
requires = ["setuptools>=61.0"]
requires = ["setuptools>=61.0","setuptools_scm[toml]>=6.2"]
build-backend = "setuptools.build_meta"
[project]
name = "formatitko"
version = "0.0.1"
#version = "0.0.1"
dynamic = ["version"]
authors = [
{ name="Greenscreener ", email="gs@grsc.cz" },
{ name="Organizers of KSP", email="ksp-tech@ksp.mff.cuni.cz" }
@ -24,3 +25,11 @@ classifiers = [
[project.scripts]
formatitko = "formatitko.formatitko:main"
[tool.setuptools_scm]
[tool.setuptools.packages.find]
where = ["src"]
exclude = ["src/formatitko/katex-server/node_modules"]

View file

@ -16,7 +16,19 @@ class KatexClient:
self._temp_dir = tempfile.TemporaryDirectory(prefix='formatitko')
self._socket_file = self._temp_dir.name + "/katex-socket"
self._server_process = subprocess.Popen(["node", os.path.dirname(os.path.realpath(__file__)) + "/katex-server/index.mjs", self._socket_file])
srcdir = os.path.dirname(os.path.realpath(__file__))
# Test if `node_modules` directory exists and if not, run `npm install`
if not os.path.isdir(srcdir + "/katex-server/node_modules"):
print("Installing node dependencies for the first time...")
try:
subprocess.run(["npm", "install"], cwd=srcdir+"/katex-server", check=True)
except subprocess.CalledProcessError as e:
if e.returncode == 127:
raise Exception("npm not found. Node.js is required to use KaTeX.")
else:
raise e
self._server_process = subprocess.Popen(["node", srcdir + "/katex-server/index.mjs", self._socket_file])
self._client = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)