From 1cc81ac9d3bc588df86d0e887493d80356ce94dc Mon Sep 17 00:00:00 2001 From: Gergely Polonkai Date: Sun, 29 Jul 2018 19:18:20 +0200 Subject: [PATCH] Move idm related functions to the Org config --- configuration.org | 27 +++++++++++++++++++++++++++ init.el | 1 - lisp/idm.el | 22 ---------------------- 3 files changed, 27 insertions(+), 23 deletions(-) delete mode 100644 lisp/idm.el diff --git a/configuration.org b/configuration.org index 88af6d1..167e045 100644 --- a/configuration.org +++ b/configuration.org @@ -421,6 +421,33 @@ Copied from https://ryuslash.org/posts/C-d-to-close-eshell.html (signal (car err) (cdr err)))))) #+END_SRC +** ~idm~ (ID manager) related functions + +*** Get specific fields from a record in ~idm~ + +#+BEGIN_SRC emacs-lisp +(defun gpolonkai/idm-record-get-field (record field) + "Get FIELD of an id-manager RECORD." + (let ((funcname (intern (concat "idm-record-" (symbol-name field))))) + (when (fboundp funcname) + (funcall funcname record)))) + +(defun gpolonkai/idm-get-field-for-account (account field) + "Get id-manager password for ACCOUNT." + (let ((db (idm-load-db)) + (lookup-record nil)) + (dolist (record (funcall db 'get-all-records) password) + (when (string= account (idm-record-name record)) + (setq lookup-record (gpolonkai/idm-record-get-field record field)))) + lookup-record)) + +(defmacro gpolonkai/idm-get-password-for-account (account) + `(gpolonkai/idm-get-field-for-account ,account 'password)) + +(defmacro gpolonkai/idm-get-id-for-account (account) + `(gpolonkai/idm-get-field-for-account ,account 'account-id)) +#+END_SRC + * UI preferences ** Tweak window chrome diff --git a/init.el b/init.el index 5ffbc68..dfef719 100644 --- a/init.el +++ b/init.el @@ -539,7 +539,6 @@ (use-package id-manager :config - (load "idm") (setq idm-database-file (expand-file-name "idm-db.gpg" user-emacs-directory)) :bind (:map gpolonkai/pers-map diff --git a/lisp/idm.el b/lisp/idm.el deleted file mode 100644 index 5d0c97e..0000000 --- a/lisp/idm.el +++ /dev/null @@ -1,22 +0,0 @@ -;; id-manager extensions - -(defun gpolonkai/idm-record-get-field (record field) - "Get FIELD of an id-manager RECORD." - (let ((funcname (intern (concat "idm-record-" (symbol-name field))))) - (when (fboundp funcname) - (funcall funcname record)))) - -(defun gpolonkai/idm-get-field-for-account (account field) - "Get id-manager password for ACCOUNT." - (let ((db (idm-load-db)) - (lookup-record nil)) - (dolist (record (funcall db 'get-all-records) password) - (when (string= account (idm-record-name record)) - (setq lookup-record (gpolonkai/idm-record-get-field record field)))) - lookup-record)) - -(defmacro gpolonkai/idm-get-password-for-account (account) - `(gpolonkai/idm-get-field-for-account ,account 'password)) - -(defmacro gpolonkai/idm-get-id-for-account (account) - `(gpolonkai/idm-get-field-for-account ,account 'account-id))