Last active
November 30, 2016 10:29
-
-
Save gergelypolonkai/8bad70502ac563864080f754fce726c3 to your computer and use it in GitHub Desktop.
Get specific fields from the id-manager database
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(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)) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment