#+Title: Email2OrgAgenda
#+Author: Sam Flint
#+PROPERTY: noweb tangle
* Copyright Statement
#+Name: CopyrightStatement
#+begin_src text
Copyright FlintFam Systems Management, 2013.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see .
#+end_src
#+Caption: Copyright Notice (CopyrightStatement)
* Code
** Imports
#+Name: Imports
#+BEGIN_SRC python
import os, sys, re, fileinput
from email.parser import Parser as parsemail
#+END_SRC
#+CAPTION: use-name-as-caption
We use each library for a purpose:
- os :: this is used to access environment variables
- sys :: is used to access arguments, input
- re :: used for matching and extraction
- fileinput :: used to read message from standard input
- Parser as parsemail from email.parser :: This is use to parse email messages from standard input
** Variables
#+Name: MiscVars
#+BEGIN_SRC python
data = {}
messagedata = {}
agendafile = '~/org/emailagenda.org'
level = 1
datetype = 'inactive'
if os.environ['EMAILTOAGENDAFILE']:
agendafile = os.environ['EMAILTOAGENDAFILE']
#+END_SRC
#+CAPTION: use-name-as-caption
- data :: a dictionary used to store data for output
- agendafile :: this is set by default to =~/org/emailagenda.org=. if the environment variable =EMAILTOAGENDAFILE= is defined that is used
- level :: this is the level you want the heading to be, defaults to level 1, the top.
- datetype :: this is the type of timestamp to be generated, either =active= or =inactive=, defaults to =inactive=.
** Subroutines
#+Name: Subroutines
#+BEGIN_SRC python
<