ox-taskjuggler: Use task_id property when specified
* contrib/lisp/ox-taskjuggler.el (org-taskjuggler--build-unique-id): Use specified id (TASK_ID property) when possible.
This commit is contained in:
parent
a82b06ae4b
commit
989fae0c79
|
@ -411,6 +411,9 @@ resource. Its id is derived from its name and made unique
|
||||||
against UNIQUE-IDS. If the (downcased) first token of the
|
against UNIQUE-IDS. If the (downcased) first token of the
|
||||||
headline is not unique try to add more (downcased) tokens of the
|
headline is not unique try to add more (downcased) tokens of the
|
||||||
headline or finally add more underscore characters (\"_\")."
|
headline or finally add more underscore characters (\"_\")."
|
||||||
|
(let ((id (org-string-nw-p (org-element-property :TASK_ID item))))
|
||||||
|
;; If an id is specified, use it, as long as it's unique.
|
||||||
|
(if (and id (not (member id unique-ids))) id
|
||||||
(let* ((parts (org-split-string (org-element-property :raw-value item)))
|
(let* ((parts (org-split-string (org-element-property :raw-value item)))
|
||||||
(id (org-taskjuggler--clean-id (downcase (pop parts)))))
|
(id (org-taskjuggler--clean-id (downcase (pop parts)))))
|
||||||
;; Try to add more parts of the headline to make it unique.
|
;; Try to add more parts of the headline to make it unique.
|
||||||
|
@ -420,7 +423,7 @@ headline or finally add more underscore characters (\"_\")."
|
||||||
;; If it's still not unique, add "_".
|
;; If it's still not unique, add "_".
|
||||||
(while (member id unique-ids)
|
(while (member id unique-ids)
|
||||||
(setq id (concat id "_")))
|
(setq id (concat id "_")))
|
||||||
id))
|
id))))
|
||||||
|
|
||||||
(defun org-taskjuggler--clean-id (id)
|
(defun org-taskjuggler--clean-id (id)
|
||||||
"Clean and return ID to make it acceptable for TaskJuggler.
|
"Clean and return ID to make it acceptable for TaskJuggler.
|
||||||
|
|
Loading…
Reference in New Issue