[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[O] [PATCH 2/8] ox-taskjuggler.el: factor 'org-export-map-special-nodes'
From: |
Kosyrev Serge |
Subject: |
[O] [PATCH 2/8] ox-taskjuggler.el: factor 'org-export-map-special-nodes' |
Date: |
Sun, 8 Nov 2015 13:13:54 +0300 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) |
* ox-taskjuggler.el (org-taskjuggler-map-special-nodes):
new function to capture mapping over tagged special nodes.
(org-taskjuggler-project-plan): factor to use the new function.
---
contrib/lisp/ox-taskjuggler.el | 17 ++++++++++-------
1 file changed, 10 insertions(+), 7 deletions(-)
diff --git a/contrib/lisp/ox-taskjuggler.el b/contrib/lisp/ox-taskjuggler.el
index ce4a8ab..2cf2c78 100644
--- a/contrib/lisp/ox-taskjuggler.el
+++ b/contrib/lisp/ox-taskjuggler.el
@@ -625,6 +625,12 @@ doesn't include leading \"depends\"."
;;; Translator Functions
+(defun org-taskjuggler-map-special-nodes (tag tree f)
+ (org-element-map tree 'headline
+ (lambda (hl)
+ (and (member tag (org-export-get-tags hl info))
+ (funcall f hl)))
+ info nil 'headline))
(defun org-taskjuggler-project-plan (contents info)
"Build TaskJuggler project plan.
@@ -647,13 +653,10 @@ Return complete project plan as a string in TaskJuggler
syntax."
;; `org-taskjuggler-resource-tag'. Only gather top level
;; resources.
(apply 'append
- (org-element-map tree 'headline
- (lambda (hl)
- (and (member org-taskjuggler-resource-tag
- (org-export-get-tags hl info))
- (org-element-map (org-element-contents hl)
'headline
- 'identity info nil 'headline)))
- info nil 'headline))))
+ (org-taskjuggler-map-special-nodes
+ org-taskjuggler-resource-tag tree
+ (lambda (hl) (org-element-map (org-element-contents hl)
'headline
+ 'identity info nil 'headline))))))
;; Assign a unique ID to each resource. Store it under
;; `:taskjuggler-unique-ids' property in INFO.
(setq info
--
2.5.0