emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Kevin <kevin.coates@gmail.com>
To: emacs-orgmode@gnu.org
Subject: Re: Was: Feedback on Scheduling? - How do you use yours?
Date: Thu, 18 May 2006 13:14:45 +0200	[thread overview]
Message-ID: <c5eb420b0605180414j2fdce271o2fe608689e1278a@mail.gmail.com> (raw)
In-Reply-To: <20060518092458.GB1800@ELSAMSW37164>

> I like the :Project: TAG idea, i'm going to start using that one
> myself. Any chance you could post the perl script for those
> of us who are interested?

Here you go (not sure what'll happen to the formatting). And this is
my first piece of perl, so be gentle ;-)

#used on org files that have the structure:
# * Projectname :Project:
# ** NextActionA :Context1:
# ** NextActionB :Context2:

# %hash_TagsLine: hash with keys=tags
# @{$hash_TagsLine{$tag}: set of arrays, one for each tag whose
contents are all items with that tag
# %actionsperproject: hash with keys=project name and values = number
of next actions for each project
# @emptyprojects: array with a list of the empty projects


@ARGV = "d:/Documents/txt/Next Actions Outline.org"; #hard coded org file
while  ($line=<>){                      #go through each line of org file
    chomp;                              # remove line breaks
    foreach $tag ($line =~ /:(\w+):/g){ # find the tag in the current line
        $line =~ s/:$tag://;            # remove the tag
	$line =~ s/\*//g;                # remove "*"
	$line =~ s/^\s+//;              # remove leading spaces
	$line =~ s/\s+$//;              # remove  trailing spaces
	$line =~ s/\s+/ /g;             # replace every group of one or more
spaces with a single space

        if ($tag eq "Project")
	        {
		if ($nextactions eq "0"){push (@emptyprojects, "$projectname")}; #if
we get to a Project and nextactions still equals zero, then we have an
empty project
          	push @{$hash_TagsLine{$tag}}, "$line"; #add this line to
the project list array
          	$projectname = "$line"; #keep the name of the project for
appending to the next actions
		$nextactions = 0; # as this is a new project, reset the next actions to zero
          }
          else { #if this is not a new project
	      $nextactions = $nextactions + 1; #it's a next action so update the count
	      $actionsperproject{$projectname} = "$nextactions"; #update the
hash with the latest next actions count for this project
	      $encodedline = $line." [$projectname]";	#add the project name
to the next action
	      push  @{$hash_TagsLine{$tag}}, "$encodedline"; #add to this tag's array
          }
     }
}


> I've been using a folder and my Calendar. A 'memo' set on the
> appropriate date. Its not integrated into org mode, but it seems to be
> working. I'm not sure if its idea yet, but i'm sticking with it for
> the moment, as i want to try and avoid as much yak shaving as i can.

Yup, yak shaving is something I have to admit to.  Though per "pure"
GTD, a reminder to me two weeks in advance of a birthday that I should
sort out a card and present should appear at the right time on my next
actions list, rather than my calendar.

Kevin

  reply	other threads:[~2006-05-18 11:14 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-05-16  8:26 Feedback on Scheduling? Carsten Dominik
2006-05-16 17:19 ` Pete Phillips
2006-05-16 18:43   ` Tim O'Callaghan
2006-05-16 19:49     ` Pete Phillips
2006-05-16 21:20       ` Was: Feedback on Scheduling? - How do you use yours? Tim O'Callaghan
2006-05-17  7:41         ` Pete Phillips
2006-05-17  8:10           ` Carsten Dominik
2006-05-17 10:04           ` Tim O'Callaghan
2006-05-17 13:59             ` Kevin Coates
2006-05-18  9:24               ` Tim O'Callaghan
2006-05-18 11:14                 ` Kevin [this message]
2006-05-17  9:15   ` Feedback on Scheduling? David Emery
2006-05-17  9:14     ` Carsten Dominik

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=c5eb420b0605180414j2fdce271o2fe608689e1278a@mail.gmail.com \
    --to=kevin.coates@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).