From 152efedf7abcae61e71562f40652d78c216b908f Mon Sep 17 00:00:00 2001 From: dechert Date: Fri, 18 Jun 2021 15:24:13 +0200 Subject: [PATCH 1/3] disable pdf export via rest in prod mode --- README.md | 42 ++++++++++++++++++++++++++++++++++++++++++ rest_server.py | 5 ++++- 2 files changed, 46 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 9a59aa5..5d5ae46 100644 --- a/README.md +++ b/README.md @@ -13,8 +13,13 @@ Strings surrounded with quotation marks The [marp-cli](https://github.com/marp-team/marp-cli) can be used to convert the md to pdf: - Stand alone linux package https://github.com/marp-team/marp-cli/releases + - run as server with PORT=5000 marp -s ./slides + - requires wget for download + - requires chrome to convert to pdf - docker container https://hub.docker.com/r/marpteam/marp-cli/ `docker run --rm --init -v $PWD:/home/marp/app/ -e LANG=$LANG marpteam/marp-cli slide-deck.md --pdf` + - Run marp cli in its own docker container in server mode!!! + - output folder as volumne, so that marp container can assess it powerpoint export is also possible with --pptx @@ -32,5 +37,42 @@ https://pythonise.com/series/learning-flask/flask-uploading-files python docker wait for container +CLI binary: + +convert file +./marp --pdf ./slides/slide-deck.md +./marp --pdf ./slides/slide-deck.md +/opt/marp --pdf /code/csv-to-marp-converter/ + +start server +./marp --pdf --server ./slides/ +PORT=4100 /opt/marp-cli --server ./ +use marp server: + - link or embed marp server path (http://localhost:8080/) from result html + - Dockerfile + - download latest marp binary + - start server (on correct port) + +wget -O marp-cli.tar.gz https://github.com/marp-team/marp-cli/releases/download/v1.1.1/marp-cli-v1.1.1-linux.tar.gz + + +when running release version from + +[ WARN ] The environment variable CHROME_PATH must be set to executable of a build of Chromium version 54.0 or later. +[ ERROR ] Failed converting Markdown. (You have to install Google Chrome, Chromium, or Microsoft Edge to convert slide deck with current options.) + + +when running cli with docker +docker run -v $PWD:/home/marp/app/ -e LANG=$LANG marpteam/marp-cli quiz-slides-template.md --pdf + +[ ERROR ] Failed converting Markdown. (EACCES: permission denied, open + '/home/marp/app/quiz-slides-template.pdf') + +chmod -R 0777 output/ + +docker run -v $PWD:/home/marp/app/ -e LANG=$LANG -e PORT=4100 -p 4100:4100 marpteam/marp-cli --server ./ -d + +docker run -d -v /home/marcelo/git/docker-python-multi-service/csv-to-marp-converter/output:/home/marp/app/ -e LANG=$LANG -e PORT=4100 -p 4100:4100 marpteam/marp-cli --server ./ + diff --git a/rest_server.py b/rest_server.py index ff6cf1e..4e018c4 100644 --- a/rest_server.py +++ b/rest_server.py @@ -64,7 +64,10 @@ def upload_image(): csv_file.save(output_file_path) # run converter - converter.convert(output_file_path, True) + if config_parser.prod_mode: + converter.convert(output_file_path, False) + else: + converter.convert(output_file_path, True) return render_template("return_result.html") # return redirect(request.url) From 34314fe90c4fbd12c4b8b1519efa609243cd897b Mon Sep 17 00:00:00 2001 From: dechert Date: Fri, 18 Jun 2021 15:50:40 +0200 Subject: [PATCH 2/3] button to redirect to marp server --- .gitignore | 1 + rest_server.py | 11 +++++++++++ templates/return_result.html | 1 + 3 files changed, 13 insertions(+) diff --git a/.gitignore b/.gitignore index 0a6e27e..9dac8e3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ .idea csvmarp +csvconvertervenv # ---> Python # Byte-compiled / optimized / DLL files diff --git a/rest_server.py b/rest_server.py index 4e018c4..25601c9 100644 --- a/rest_server.py +++ b/rest_server.py @@ -118,6 +118,17 @@ def valid_csv(filename): # # return "bla" # return render_template("tagebuch_output.html", markdown_result=data, markdown_filename=filename) +def get_marp_url(): + if config_parser.prod_mode: + return "https://marp.swaghausen.de" + else: + return "http://localhost:4100" + +@app.route('/marp') +def redirect_to_marp(): + return redirect(get_marp_url(), code=302) + # return get_marp_url() + @app.route(URL_BASE_PATH + 'download', methods=['GET']) # @auth.login_required diff --git a/templates/return_result.html b/templates/return_result.html index ffafe84..649eef7 100644 --- a/templates/return_result.html +++ b/templates/return_result.html @@ -11,5 +11,6 @@ Download Markdown File Download PDF File + Go To Marp Server

{% endblock %} \ No newline at end of file From 56bd03122937defcaa213307dfdb6b28f1b4b536 Mon Sep 17 00:00:00 2001 From: dechert Date: Fri, 18 Jun 2021 16:36:32 +0200 Subject: [PATCH 3/3] notes on nas deployment --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index 5d5ae46..3c34d7f 100644 --- a/README.md +++ b/README.md @@ -76,3 +76,9 @@ docker run -v $PWD:/home/marp/app/ -e LANG=$LANG -e PORT=4100 -p 4100:4100 marpt docker run -d -v /home/marcelo/git/docker-python-multi-service/csv-to-marp-converter/output:/home/marp/app/ -e LANG=$LANG -e PORT=4100 -p 4100:4100 marpteam/marp-cli --server ./ +run on NAS: +sudo docker run -d -v /volume1/docker/dockerpython/docker-python-multi-service/csv-marp-converter-output:/home/marp/app/ -e LANG=$LANG -e PORT=4100 -p 4100:4100 --name marp marpteam/marp-cli --server -I ./ + - Folder that is mounted should not be empty!! + + +