#+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 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 - Parser as parsemail from email.parser :: This is use to parse email messages from standard input ** Variables #+Name: MiscVars #+BEGIN_SRC python data = {} agendafile = '~/org/emailagenda.org' level = 1 type = '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. - type :: this is the type of timestamp to be generated, either =active= or =inactive=, defaults to =inactive=. ** Subroutines #+Name: Subroutines #+BEGIN_SRC python <> <> <> #+END_SRC #+CAPTION: use-name-as-caption *** Output #+Name: Output #+BEGIN_SRC python #+END_SRC #+CAPTION: use-name-as-caption *** Determine Type #+Name: DetermineType #+BEGIN_SRC python #+END_SRC #+CAPTION: use-name-as-caption *** Parse subject #+Name: ParseSubject #+BEGIN_SRC python #+END_SRC #+CAPTION: use-name-as-caption ** Main body #+Name: Main #+BEGIN_SRC python #+END_SRC #+CAPTION: use-name-as-caption ** Final code #+Name: FinalCode #+BEGIN_SRC python :tangle email2orgagenda.py :shebang "#!/usr/bin/python" # <> <> <> <> <
> #+END_SRC #+CAPTION: use-name-as-caption