MaterialXWeb 0.0.2
Utilities for using MaterialX Packages with Web clients
Loading...
Searching...
No Matches
MaterialXConversionApp.MaterialXFlaskApp Class Reference
Inheritance diagram for MaterialXConversionApp.MaterialXFlaskApp:
MaterialXConversionApp.MaterialXConversionApp

Public Member Functions

 __init__ (self, home)
 
 run (self, host, port, deployment_platform, debug=True)
 Run the Flask server with SocketIO.
 

Public Attributes

 home = home
 
 app = Flask(__name__)
 
 socketio = SocketIO(self.app)
 
str deployment_platform = 'Local'
 
 os_details = get_os_details()
 

Protected Member Functions

 _register_routes (self)
 Register HTTP routes.
 
 _setup_event_handler_map (self)
 Pure virtual method: Must be implemented by subclasses.
 
 _register_socket_events (self)
 Register SocketIO events.
 

Detailed Description

Definition at line 37 of file MaterialXConversionApp.py.

Constructor & Destructor Documentation

◆ __init__()

MaterialXConversionApp.MaterialXFlaskApp.__init__ ( self,
home )

Reimplemented in MaterialXConversionApp.MaterialXConversionApp.

Definition at line 38 of file MaterialXConversionApp.py.

38 def __init__(self, home):
39 self.home = home
40
41 # Initialize Flask and SocketIO
42 self.app = Flask(__name__)
43 self.socketio = SocketIO(self.app)
44
45 # Register routes and events
46 self._register_routes()
47 self._setup_event_handler_map()
48 self._register_socket_events()
49
50 self.deployment_platform = 'Local'
51 print(f'* Initialized on deployment plaform: {self.deployment_platform}')
52 self.os_details = get_os_details()
53 print(f" * OS: {self.os_details['os']}")
54 print(f" * Release: {self.os_details['release']}")
55 print(f" * Architecture: {self.os_details['architecture']}")
56

Member Function Documentation

◆ _register_routes()

MaterialXConversionApp.MaterialXFlaskApp._register_routes ( self)
protected

Register HTTP routes.

Definition at line 57 of file MaterialXConversionApp.py.

57 def _register_routes(self):
58 '''
59 Register HTTP routes.
60 '''
61 @self.app.route('/')
62 def home():
63 '''
64 Render the home page.
65 '''
66 #status_message = f'Startup: Using MaterialX version: {mx.getVersionString()}'
67 #self._emit_status_message(status_message)
68 return render_template(self.home)
69

◆ _register_socket_events()

MaterialXConversionApp.MaterialXFlaskApp._register_socket_events ( self)
protected

Register SocketIO events.

Definition at line 74 of file MaterialXConversionApp.py.

74 def _register_socket_events(self):
75 '''
76 Register SocketIO events.
77 '''
78 # Dynamically register event handlers
79 for event_name, handler in self.event_handlers.items():
80 self.socketio.on_event(event_name, handler)
81

◆ _setup_event_handler_map()

MaterialXConversionApp.MaterialXFlaskApp._setup_event_handler_map ( self)
protected

Pure virtual method: Must be implemented by subclasses.

Reimplemented in MaterialXConversionApp.MaterialXConversionApp.

Definition at line 70 of file MaterialXConversionApp.py.

70 def _setup_event_handler_map(self):
71 '''Pure virtual method: Must be implemented by subclasses.'''
72 raise NotImplementedError("Subclasses must implement _setup_event_handler_map")
73

◆ run()

MaterialXConversionApp.MaterialXFlaskApp.run ( self,
host,
port,
deployment_platform,
debug = True )

Run the Flask server with SocketIO.

Definition at line 82 of file MaterialXConversionApp.py.

82 def run(self, host, port, deployment_platform, debug=True):
83 '''
84 Run the Flask server with SocketIO.
85 '''
86 self.deployment_platform = deployment_platform
87 self.socketio.run(self.app, host, port, debug=debug)
88

Member Data Documentation

◆ app

MaterialXConversionApp.MaterialXFlaskApp.app = Flask(__name__)

Definition at line 42 of file MaterialXConversionApp.py.

◆ deployment_platform

str MaterialXConversionApp.MaterialXFlaskApp.deployment_platform = 'Local'

Definition at line 50 of file MaterialXConversionApp.py.

◆ home

MaterialXConversionApp.MaterialXFlaskApp.home = home

Definition at line 39 of file MaterialXConversionApp.py.

◆ os_details

MaterialXConversionApp.MaterialXFlaskApp.os_details = get_os_details()

Definition at line 52 of file MaterialXConversionApp.py.

◆ socketio

MaterialXConversionApp.MaterialXFlaskApp.socketio = SocketIO(self.app)

Definition at line 43 of file MaterialXConversionApp.py.


The documentation for this class was generated from the following file: