mirror of
https://github.com/khoj-ai/khoj.git
synced 2024-11-23 23:48:56 +01:00
Install Khoj server from Emacs using khoj.el
This commit is contained in:
parent
e281a498b4
commit
c92d79118a
1 changed files with 56 additions and 0 deletions
|
@ -171,6 +171,62 @@ Use `which-key` if available, else display simple message in echo area"
|
|||
nil t t))
|
||||
(message "%s" (khoj--keybindings-info-message))))
|
||||
|
||||
|
||||
;; ----------------
|
||||
;; Khoj Setup
|
||||
;; ----------------
|
||||
(defcustom khoj-server-command
|
||||
(or (executable-find "khoj")
|
||||
(executable-find "khoj.exe")
|
||||
"khoj")
|
||||
"Command to interact with Khoj server."
|
||||
:group 'khoj
|
||||
:type 'string)
|
||||
|
||||
(defcustom khoj-server-python-command
|
||||
(if (equal system-type 'windows-nt)
|
||||
(or (executable-find "py")
|
||||
(executable-find "pythonw")
|
||||
"python")
|
||||
(if (executable-find "python")
|
||||
"python"
|
||||
;; Fallback on systems where python is not
|
||||
;; symlinked to python3.
|
||||
"python3"))
|
||||
"The Python interpreter used for the Khoj server.
|
||||
|
||||
Khoj will try to use the system interpreter if it exists. If you wish
|
||||
to use a specific python interpreter (from a virtual environment
|
||||
for example), set this to the full interpreter path."
|
||||
:type '(choice (const :tag "python" "python")
|
||||
(const :tag "python3" "python3")
|
||||
(const :tag "pythonw (Python on Windows)" "pythonw")
|
||||
(const :tag "py (other Python on Windows)" "py")
|
||||
(string :tag "Other"))
|
||||
:safe (lambda (val)
|
||||
(member val '("python" "python3" "pythonw" "py")))
|
||||
:group 'khoj)
|
||||
|
||||
(defun khoj--server-get-version ()
|
||||
"Return the khoj server version."
|
||||
(with-temp-buffer
|
||||
(call-process khoj-server-command nil t nil "--version")
|
||||
(goto-char (point-min))
|
||||
(re-search-forward "\\([a-z0-9.]+\\)")
|
||||
(match-string 1)))
|
||||
|
||||
(defun khoj--server-install-upgrade ()
|
||||
"Install or upgrade the khoj server."
|
||||
(with-temp-buffer
|
||||
(message "khoj.el: Installing server...")
|
||||
(if (/= (apply 'call-process khoj-server-python-command
|
||||
nil t nil
|
||||
"-m" "pip" "install" "--upgrade"
|
||||
'("khoj-assistant"))
|
||||
0)
|
||||
(message "khoj.el: Failed to install Khoj server. Please install it manually using pip install `khoj-assistant'.\n%s" (buffer-string))
|
||||
(message "khoj.el: Installed and upgraded Khoj server version: %s" (khoj--server-get-version)))))
|
||||
|
||||
|
||||
;; -----------------------------------------------
|
||||
;; Extract and Render Entries of each Content Type
|
||||
|
|
Loading…
Reference in a new issue