Add engine_help_viewer.py

This commit is contained in:
Brett Williams
2023-11-04 10:41:33 -05:00
parent 65c256b641
commit 014489e3bf
3 changed files with 46 additions and 2 deletions

View File

@@ -10,6 +10,7 @@ from PyQt6.QtWidgets import (
from src.api.server_proxy import RenderServerProxy
from src.engines.engine_manager import EngineManager
from src.ui.engine_help_viewer import EngineHelpViewer
from src.utilities.zeroconf_server import ZeroconfServer
@@ -18,6 +19,7 @@ class NewRenderJobForm(QWidget):
super().__init__()
# UI
self.engine_help_viewer = None
self.raw_args = None
self.submit_progress_label = None
self.submit_progress = None
@@ -217,8 +219,10 @@ class NewRenderJobForm(QWidget):
self.output_path_input.setText(directory)
def args_help_button_clicked(self):
#todo: create a popup window showing args
pass
url = (f'http://{self.server_proxy.hostname}:{self.server_proxy.port}/api/renderer/'
f'{self.renderer_type.currentText()}/help')
self.engine_help_viewer = EngineHelpViewer(url)
self.engine_help_viewer.show()
# -------- Update --------
@@ -271,6 +275,7 @@ class NewRenderJobForm(QWidget):
callback=create_callback)
self.submit_progress.setMaximum(0)
# todo: error handle
print(result.json())
self.submit_button.setHidden(False)
self.submit_progress.setHidden(True)

View File

@@ -0,0 +1,30 @@
import requests
from PyQt6.QtGui import QFont
from PyQt6.QtWidgets import QMainWindow, QVBoxLayout, QWidget, QPlainTextEdit
class EngineHelpViewer(QMainWindow):
def __init__(self, log_path):
super().__init__()
self.help_path = log_path
self.setGeometry(100, 100, 600, 800)
self.setWindowTitle("Help Output")
self.text_edit = QPlainTextEdit(self)
self.text_edit.setReadOnly(True)
self.text_edit.setFont(QFont("Courier", 10))
layout = QVBoxLayout()
layout.addWidget(self.text_edit)
layout.setContentsMargins(0, 0, 0, 0)
central_widget = QWidget()
central_widget.setLayout(layout)
self.setCentralWidget(central_widget)
self.fetch_help()
def fetch_help(self):
result = requests.get(self.help_path)
self.text_edit.setPlainText(result.text)