mirror of
https://github.com/blw1138/Zordon.git
synced 2025-12-17 08:48:13 +00:00
Add system_safe_path to more locations in api_server.py
This commit is contained in:
@@ -7,6 +7,7 @@ import platform
|
|||||||
import shutil
|
import shutil
|
||||||
import socket
|
import socket
|
||||||
import ssl
|
import ssl
|
||||||
|
import tempfile
|
||||||
import threading
|
import threading
|
||||||
import time
|
import time
|
||||||
import zipfile
|
import zipfile
|
||||||
@@ -55,7 +56,7 @@ def sorted_jobs(all_jobs, sort_by_date=True):
|
|||||||
@server.route('/')
|
@server.route('/')
|
||||||
@server.route('/index')
|
@server.route('/index')
|
||||||
def index():
|
def index():
|
||||||
with open('config/presets.yaml') as f:
|
with open(system_safe_path('config/presets.yaml')) as f:
|
||||||
render_presets = yaml.load(f, Loader=yaml.FullLoader)
|
render_presets = yaml.load(f, Loader=yaml.FullLoader)
|
||||||
|
|
||||||
return render_template('index.html', all_jobs=sorted_jobs(RenderQueue.all_jobs()),
|
return render_template('index.html', all_jobs=sorted_jobs(RenderQueue.all_jobs()),
|
||||||
@@ -189,7 +190,7 @@ def get_job_status(job_id):
|
|||||||
@server.get('/api/job/<job_id>/logs')
|
@server.get('/api/job/<job_id>/logs')
|
||||||
def get_job_logs(job_id):
|
def get_job_logs(job_id):
|
||||||
found_job = RenderQueue.job_with_id(job_id)
|
found_job = RenderQueue.job_with_id(job_id)
|
||||||
log_path = found_job.log_path()
|
log_path = system_safe_path(found_job.log_path()),
|
||||||
log_data = None
|
log_data = None
|
||||||
if log_path and os.path.exists(log_path):
|
if log_path and os.path.exists(log_path):
|
||||||
with open(log_path) as file:
|
with open(log_path) as file:
|
||||||
@@ -233,10 +234,11 @@ def download_all(job_id):
|
|||||||
found_job = RenderQueue.job_with_id(job_id)
|
found_job = RenderQueue.job_with_id(job_id)
|
||||||
output_dir = os.path.dirname(found_job.output_path)
|
output_dir = os.path.dirname(found_job.output_path)
|
||||||
if os.path.exists(output_dir):
|
if os.path.exists(output_dir):
|
||||||
zip_filename = os.path.join('/tmp', pathlib.Path(found_job.input_path).stem + '.zip')
|
zip_filename = system_safe_path(os.path.join(tempfile.gettempdir(),
|
||||||
|
pathlib.Path(found_job.input_path).stem + '.zip'))
|
||||||
with ZipFile(zip_filename, 'w') as zipObj:
|
with ZipFile(zip_filename, 'w') as zipObj:
|
||||||
for f in os.listdir(output_dir):
|
for f in os.listdir(output_dir):
|
||||||
zipObj.write(filename=os.path.join(output_dir, f),
|
zipObj.write(filename=system_safe_path(os.path.join(output_dir, f)),
|
||||||
arcname=os.path.basename(f))
|
arcname=os.path.basename(f))
|
||||||
return send_file(zip_filename, mimetype="zip", as_attachment=True, )
|
return send_file(zip_filename, mimetype="zip", as_attachment=True, )
|
||||||
else:
|
else:
|
||||||
@@ -585,7 +587,7 @@ def start_server(background_thread=False):
|
|||||||
RenderQueue.evaluate_queue()
|
RenderQueue.evaluate_queue()
|
||||||
time.sleep(delay_sec)
|
time.sleep(delay_sec)
|
||||||
|
|
||||||
with open('config/config.yaml') as f:
|
with open(system_safe_path('config/config.yaml')) as f:
|
||||||
config = yaml.load(f, Loader=yaml.FullLoader)
|
config = yaml.load(f, Loader=yaml.FullLoader)
|
||||||
|
|
||||||
logging.basicConfig(format='%(asctime)s: %(levelname)s: %(module)s: %(message)s', datefmt='%d-%b-%y %H:%M:%S',
|
logging.basicConfig(format='%(asctime)s: %(levelname)s: %(module)s: %(message)s', datefmt='%d-%b-%y %H:%M:%S',
|
||||||
|
|||||||
Reference in New Issue
Block a user