mirror of
https://github.com/khoj-ai/khoj.git
synced 2024-11-27 17:35:07 +01:00
Add Flag to Start App without Native GUI
This commit is contained in:
parent
b74ca1def6
commit
6af2d6bb6d
2 changed files with 30 additions and 20 deletions
49
src/main.py
49
src/main.py
|
@ -29,25 +29,30 @@ def run():
|
|||
args = cli(state.cli_args)
|
||||
set_state(args)
|
||||
|
||||
# Setup GUI
|
||||
gui = QtWidgets.QApplication([])
|
||||
gui.setQuitOnLastWindowClosed(False)
|
||||
configure_screen = ConfigureScreen(args.config_file)
|
||||
tray = create_system_tray(gui, configure_screen)
|
||||
tray.show()
|
||||
if args.no_gui:
|
||||
# Start Server
|
||||
configure_server(args, required=True)
|
||||
start_server(app, host=args.host, port=args.port, socket=args.socket)
|
||||
else:
|
||||
# Setup GUI
|
||||
gui = QtWidgets.QApplication([])
|
||||
gui.setQuitOnLastWindowClosed(False)
|
||||
configure_screen = ConfigureScreen(args.config_file)
|
||||
tray = create_system_tray(gui, configure_screen)
|
||||
tray.show()
|
||||
|
||||
# Setup Server
|
||||
configure_server(args, required=False)
|
||||
server = ServerThread(app, args.host, args.port, args.socket)
|
||||
# Setup Server
|
||||
configure_server(args, required=False)
|
||||
server = ServerThread(app, args.host, args.port, args.socket)
|
||||
|
||||
# Trigger First Run Experience, if required
|
||||
if args.config is None:
|
||||
configure_screen.show()
|
||||
# Trigger First Run Experience, if required
|
||||
if args.config is None:
|
||||
configure_screen.show()
|
||||
|
||||
# Start Application
|
||||
server.start()
|
||||
gui.aboutToQuit.connect(server.terminate)
|
||||
gui.exec()
|
||||
# Start Application
|
||||
server.start()
|
||||
gui.aboutToQuit.connect(server.terminate)
|
||||
gui.exec()
|
||||
|
||||
|
||||
def set_state(args):
|
||||
|
@ -56,6 +61,13 @@ def set_state(args):
|
|||
state.verbose = args.verbose
|
||||
|
||||
|
||||
def start_server(app, host=None, port=None, socket=None):
|
||||
if socket:
|
||||
uvicorn.run(app, proxy_headers=True, uds=socket)
|
||||
else:
|
||||
uvicorn.run(app, host=host, port=port)
|
||||
|
||||
|
||||
class ServerThread(QThread):
|
||||
def __init__(self, app, host=None, port=None, socket=None):
|
||||
super(ServerThread, self).__init__()
|
||||
|
@ -68,10 +80,7 @@ class ServerThread(QThread):
|
|||
self.wait()
|
||||
|
||||
def run(self):
|
||||
if self.socket:
|
||||
uvicorn.run(app, proxy_headers=True, uds=self.socket)
|
||||
else:
|
||||
uvicorn.run(app, host=self.host, port=self.port)
|
||||
start_server(self.app, self.host, self.port, self.socket)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
|
|
@ -11,6 +11,7 @@ def cli(args=None):
|
|||
# Setup Argument Parser for the Commandline Interface
|
||||
parser = argparse.ArgumentParser(description="Start Khoj; A Natural Language Search Engine for your personal Notes, Transactions and Photos")
|
||||
parser.add_argument('--config-file', '-c', default='~/.khoj/khoj.yml', type=pathlib.Path, help="YAML file to configure Khoj")
|
||||
parser.add_argument('--no-gui', action='store_true', default=False, help="Do not show native desktop GUI. Default: false")
|
||||
parser.add_argument('--regenerate', action='store_true', default=False, help="Regenerate model embeddings from source files. Default: false")
|
||||
parser.add_argument('--verbose', '-v', action='count', default=0, help="Show verbose conversion logs. Default: 0")
|
||||
parser.add_argument('--host', type=str, default='127.0.0.1', help="Host address of the server. Default: 127.0.0.1")
|
||||
|
|
Loading…
Reference in a new issue