mirror of
https://github.com/khoj-ai/khoj.git
synced 2025-02-17 16:14:21 +00: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)
|
args = cli(state.cli_args)
|
||||||
set_state(args)
|
set_state(args)
|
||||||
|
|
||||||
# Setup GUI
|
if args.no_gui:
|
||||||
gui = QtWidgets.QApplication([])
|
# Start Server
|
||||||
gui.setQuitOnLastWindowClosed(False)
|
configure_server(args, required=True)
|
||||||
configure_screen = ConfigureScreen(args.config_file)
|
start_server(app, host=args.host, port=args.port, socket=args.socket)
|
||||||
tray = create_system_tray(gui, configure_screen)
|
else:
|
||||||
tray.show()
|
# 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
|
# Setup Server
|
||||||
configure_server(args, required=False)
|
configure_server(args, required=False)
|
||||||
server = ServerThread(app, args.host, args.port, args.socket)
|
server = ServerThread(app, args.host, args.port, args.socket)
|
||||||
|
|
||||||
# Trigger First Run Experience, if required
|
# Trigger First Run Experience, if required
|
||||||
if args.config is None:
|
if args.config is None:
|
||||||
configure_screen.show()
|
configure_screen.show()
|
||||||
|
|
||||||
# Start Application
|
# Start Application
|
||||||
server.start()
|
server.start()
|
||||||
gui.aboutToQuit.connect(server.terminate)
|
gui.aboutToQuit.connect(server.terminate)
|
||||||
gui.exec()
|
gui.exec()
|
||||||
|
|
||||||
|
|
||||||
def set_state(args):
|
def set_state(args):
|
||||||
|
@ -56,6 +61,13 @@ def set_state(args):
|
||||||
state.verbose = args.verbose
|
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):
|
class ServerThread(QThread):
|
||||||
def __init__(self, app, host=None, port=None, socket=None):
|
def __init__(self, app, host=None, port=None, socket=None):
|
||||||
super(ServerThread, self).__init__()
|
super(ServerThread, self).__init__()
|
||||||
|
@ -68,10 +80,7 @@ class ServerThread(QThread):
|
||||||
self.wait()
|
self.wait()
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
if self.socket:
|
start_server(self.app, self.host, self.port, self.socket)
|
||||||
uvicorn.run(app, proxy_headers=True, uds=self.socket)
|
|
||||||
else:
|
|
||||||
uvicorn.run(app, host=self.host, port=self.port)
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|
|
@ -11,6 +11,7 @@ def cli(args=None):
|
||||||
# Setup Argument Parser for the Commandline Interface
|
# 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 = 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('--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('--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('--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")
|
parser.add_argument('--host', type=str, default='127.0.0.1', help="Host address of the server. Default: 127.0.0.1")
|
||||||
|
|
Loading…
Add table
Reference in a new issue