diff --git a/config.yaml b/config.yaml
index e69de29..691a2bf 100644
--- a/config.yaml
+++ b/config.yaml
@@ -0,0 +1,4 @@
+upload_folder: "/Users/brett/Desktop/zordon-uploads/"
+max_content_path: 100000000
+flask_log_level: error
+queue_eval_seconds: 1
\ No newline at end of file
diff --git a/requirements.txt b/requirements.txt
index f19acb4..92cd820 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -5,3 +5,4 @@ PyYAML~=6.0
Flask==2.2.2
rich==12.6.0
ffmpeg-python
+Werkzeug~=2.2.2
\ No newline at end of file
diff --git a/templates/upload.html b/templates/upload.html
new file mode 100644
index 0000000..89a56d0
--- /dev/null
+++ b/templates/upload.html
@@ -0,0 +1,32 @@
+
+
+
+Upload a file
+
+
+
+
\ No newline at end of file
diff --git a/zordon_server.py b/zordon_server.py
index 5388fd8..1094cef 100755
--- a/zordon_server.py
+++ b/zordon_server.py
@@ -27,8 +27,8 @@ JSON_FILE = 'job_history.json'
class RenderJob:
- def __init__(self, render, priority, owner=None, client=None, notify=None):
- self.id = str(uuid.uuid4()).split('-')[0]
+ def __init__(self, render, priority=2, owner=None, client=None, notify=None, custom_id=None):
+ self.id = custom_id or self.generate_id()
self.owner = owner
self.render = render
self.priority = priority
@@ -81,6 +81,10 @@ class RenderJob:
logger.error("Error converting to JSON: {}".format(e))
return json_string
+ @classmethod
+ def generate_id(cls):
+ return str(uuid.uuid4()).split('-')[0]
+
class RenderServer:
render_queue = []
@@ -380,11 +384,20 @@ def default():
return "Server running"
-def start_server(background_thread=False):
- def eval_loop():
- while True:
- RenderServer.evaluate_queue()
- time.sleep(1)
+@app.route('/upload')
+def upload_file_page():
+ return render_template('upload.html')
+
+
+@app.route('/uploader', methods=['GET', 'POST'])
+def upload_file():
+
+ if request.method == 'POST':
+ try:
+
+ uploaded_file = request.files['file']
+ if not uploaded_file.filename:
+ return {'error': 'no file uploaded'}
with open('config.yaml') as f:
config = yaml.load(f, Loader=yaml.FullLoader)