summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Egli <christian.egli@alumni.ethz.ch>2010-03-23 15:40:52 +0100
committerChristian Egli <christian.egli@alumni.ethz.ch>2010-06-08 09:20:32 +0200
commit24745790a22ad31fc289664b3b61f7ff9199f8dd (patch)
tree883d3c31fbe6c4a73d05ae420b7b3f06f9d79762
parent68cb44ccd47e66143bfe8372ee6799be5b6d9c59 (diff)
downloadorg-mode-24745790a22ad31fc289664b3b61f7ff9199f8dd.tar.gz
Convert org priority properly to taskjuggler priority
-rw-r--r--lisp/org-taskjuggler.el10
1 files changed, 8 insertions, 2 deletions
diff --git a/lisp/org-taskjuggler.el b/lisp/org-taskjuggler.el
index 4884e42..d4b2a77 100644
--- a/lisp/org-taskjuggler.el
+++ b/lisp/org-taskjuggler.el
@@ -416,14 +416,20 @@ supports (like weeks, months and years) are currently not supported."
((string-match "\\([0-9]+\\).\\([0-9]+\\)" effort) (concat effort "d"))
(t (error "Not a valid effort (%s)" effort))))
+(defun org-taskjuggler-get-priority (priority)
+ "Return a priority between 1 and 1000 based on PRIORITY, an
+org-mode priority string."
+ (max 1 (/ (* 1000 (- org-lowest-priority (string-to-char priority)))
+ (- org-lowest-priority org-highest-priority))))
+
(defun org-taskjuggler-open-task (task)
(let* ((unique-id (cdr (assoc "unique-id" task)))
(headline (cdr (assoc "headline" task)))
(effort (org-taskjuggler-clean-effort (cdr (assoc org-effort-property task))))
(depends (cdr (assoc "depends" task)))
(allocate (cdr (assoc "allocate" task)))
- (priority (and (cdr (assoc "PRIORITY" task))
- (org-get-priority (cdr (assoc "PRIORITY" task)))))
+ (priority-raw (cdr (assoc "PRIORITY" task)))
+ (priority (and priority-raw (org-taskjuggler-get-priority priority-raw)))
(state (cdr (assoc "TODO" task)))
(complete (or (and (member state org-done-keywords) "100")
(cdr (assoc "complete" task))))