Add proof-of-concept file uploading for job creation

This commit is contained in:
Brett Williams
2022-10-08 22:14:55 -07:00
parent e12171a6d2
commit 0f63aa629e
4 changed files with 57 additions and 7 deletions

View File

@@ -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)