|
From: | Matt Price |
Subject: | Re: [O] Showing Property in headline; generating table from properties; exporting table to CSV |
Date: | Thu, 6 Aug 2015 13:27:20 -0400 |
This gets you pretty close to what you want. I changed some grades to
make it easier to see it is doing the right thing.
#+BEGIN_SRC emacs-lisp
(setq assignments '())
(setq students '())
;; get assignments
(org-map-entries
(lambda ()
(when (= 1 (nth 0 (org-heading-components)))
(add-to-list 'assignments (nth 4 (org-heading-components)) t))))
;; get student names as list of cons cells
(org-map-entries
(lambda ()
(when (= 2 (nth 0 (org-heading-components)))
(add-to-list 'students (cons (nth 4 (org-heading-components)) '()) t))))
;;loop over entries
(dolist (assignment assignments)
(save-excursion
;; jump to assignment
(org-open-link-from-string (format "[[*%s]]" assignment))
;; map over entries
(org-map-entries
(lambda ()
(let* ((student (car (assoc (nth 4 (org-heading-components)) students))))
(when student
(setf (cdr (assoc student students))
(append (cdr (assoc student students))
(list (org-entry-get (point) "GRADE")))))))
nil 'tree)))
(setq gradebook
(append (list (append '("Student") assignments)
'hline)
students))
(orgtbl-to-csv gradebook nil)
#+END_SRC
#+RESULTS:
: Student,Definition,Darwin
: Student One,10,40
: Student Two,20,50
: Student Three,30,60
Matt Price writes:
> Hello eveyrone!
>
> I know the big guns are all working on last-minute 8.3 bugs (thank you!).
>
> I am hoping to get some guidance before heading off on vacation. I have
> switched over to doing all grading for my courses in org. My workflow:
>
> - export a csv file containing student names.
> - generate grading templates for each student, for each assignment
> - email comments back to students
> - enter marks in an official spreadsheet which can be used for final grade
> submission
>
> A sample "Comments.org" is at the bottom of this email (it was a little
> long).
>
> So, here are my questions:
>
> - I currently store my grades as properties of level-2 headlines. However,
> I would really like to be able to see the grades when the headline is
> folded, so I can have a quick visual sense of how many papers I've marked,
> how well the students are doing, and so forth. THe best would be to be
> able to see the actual marks in the headlines; but if I could, say, adjust
> the color of the healdine based on the property value, that would be cool
> too.
>
> - It seems silly to record the grades once in org, and then again in a
> libreoffice spreadsheet. Better would be to generate a table and/or csv
> spreadsheet directly from the headlines and property values. So, the
> example below would give the table:
> | Student | Definition | Darwin |
> | Student One | 0 | 0 |
> | Student Two | 0 | 0 |
> | Student Three | 0 | 0 |
>
> and from there I guess I could generate a CSV just with org-table-export.
>
> Had anyone done either of these tasks before? Any guidance on how to do
> it?
>
> Thanks as always,
> Matt
>
> ------------------------------------------
> * Definition
> ** TODO Student One
> :PROPERTIES:
> :GRADE: 0
> :MAIL_TO: address@hidden
> :MAIL_CC: address@hidden
> :MAIL_REPLY: address@hidden
> :MAIL_SUBJECT: Comments on Definition Assignment (Student One)
> :END:
> - Organization ::
> - Clarity of Thesis ::
> - Presentation of Evidence ::
> - Grammar and Spelling ::
> - Style ::
> - Citations ::
> - Further Comments ::
> - Grade ::
> ** TODO Student Two
> :PROPERTIES:
> :GRADE: 0
> :MAIL_TO: address@hidden
> :MAIL_CC: address@hidden
> :MAIL_REPLY: address@hidden
> :MAIL_SUBJECT: Comments on Definition Assignment (Student Two)
> :END:
> - Organization ::
> - Clarity of Thesis ::
> - Presentation of Evidence ::
> - Grammar and Spelling ::
> - Style ::
> - Citations ::
> - Further Comments ::
> - Grade ::
> ** TODO Student Three
> :PROPERTIES:
> :GRADE: 0
> :MAIL_TO: address@hidden
> :MAIL_CC: address@hidden
> :MAIL_REPLY: address@hidden
> :MAIL_SUBJECT: Comments on Definition Assignment (Student Three)
> :END:
> - Organization ::
> - Clarity of Thesis ::
> - Presentation of Evidence ::
> - Grammar and Spelling ::
> - Style ::
> - Citations ::
> - Further Comments ::
> - Grade ::
>
>
> * Darwin
> ** TODO Student One
> :PROPERTIES:
> :GRADE: 0
> :MAIL_TO: address@hidden
> :MAIL_CC: address@hidden
> :MAIL_REPLY: address@hidden
> :MAIL_SUBJECT: Comments on Darwin Assignment (Student One)
> :END:
> - Organization ::
> - Clarity of Thesis ::
> - Presentation of Evidence ::
> - Grammar and Spelling ::
> - Style ::
> - Citations ::
> - Further Comments ::
> - Grade ::
> ** TODO Student Two
> :PROPERTIES:
> :GRADE: 0
> :MAIL_TO: address@hidden
> :MAIL_CC: address@hidden
> :MAIL_REPLY: address@hidden
> :MAIL_SUBJECT: Comments on Darwin Assignment (Student Two)
> :END:
> - Organization ::
> - Clarity of Thesis ::
> - Presentation of Evidence ::
> - Grammar and Spelling ::
> - Style ::
> - Citations ::
> - Further Comments ::
> - Grade ::
> ** TODO Student Three
> :PROPERTIES:
> :GRADE: 0
> :MAIL_TO: address@hidden
> :MAIL_CC: address@hidden
> :MAIL_REPLY: address@hidden
> :MAIL_SUBJECT: Comments on Darwin Assignment (Student Three)
> :END:
> - Organization ::
> - Clarity of Thesis ::
> - Presentation of Evidence ::
> - Grammar and Spelling ::
> - Style ::
> - Citations ::
> - Further Comments ::
> - Grade ::
> ---------------------------------------------
>
> I have three remaining issues
--
Professor John Kitchin
Doherty Hall A207F
Department of Chemical Engineering
Carnegie Mellon University
Pittsburgh, PA 15213
412-268-7803
@johnkitchin
http://kitchingroup.cheme.cmu.edu
[Prev in Thread] | Current Thread | [Next in Thread] |