Commits

Anonymous committed b1a55f3

Ported changes for the [milestone:0.8.1 0.8.1] release to the stable branch.

Comments (0)

Files changed (5)

    #974, #979, #983, #1001, #1003, #1007, #1008, #1011,
    #1020, #1026, #1030, #1045, #1054, #1070, #1072, #1074,
    #1076, #1087, #1090, #1103, #1108, #1111, #1136, #1159,
-   #1164, #1190, #1195
+   #1164, #1190, #1195, #1220
 
 
 Trac 0.8 'Qualia'  (Nov 15, 2004)
-Trac 0.8 'Qualia' Release Notes
-==============================
-Nov 17, 2004
+Trac 0.8.1 Release Notes
+========================
+Feb 28, 2005
 
-Edgewall Software presents, our latest release - Trac 0.8 'Qualia'.
+We're proud to present our latest release - Trac 0.8.1.
 
 Trac is an enhanced wiki and issue tracking system, integrated with
 Subversion, for software development projects. Trac uses a minimalistic
 
 What's New
 ----------
-0.8 'Qualia', a much delayed release of Trac brings the largest number of
-improvements yet. It marks a big step towards the big '1.0' -
-some of the biggest changes being the new Roadmap module and a user interface
-for custom ticket queries.
-
 A brief summary of major changes for this release:
 
- * Revised database format. (Requires manual upgrade, see the UPGRADE file).
- * Support for custom ticket properties.
- * Advanced ticket queries.
- * A new Roadmap module.
- * User preferences.
- * Improved diff display.
- * Tooltips for most Trac links.
- * Wiki editing (near-wysiwyg) aids a la wikipedia.
- * Improved email notification.
- * Improved ModPython support.
+ * Improved Python 2.1 compatibility.
+ * Layout of navigation bar in Opera fixed.
+ * Execution of Javascript through event handler attributes
+   in HTML code is now forbidden.
+ * Bug fixes.
 
 For a more complete list of improvements, see the ChangeLog at:
 

contrib/emailfilter.py

+#!/usr/bin/python
+"""
+emailfilter.py -- Email tickets to Trac.
+
+A simple MTA filter to create Trac tickets from inbound emails.
+
+Copyright 2005, Daniel Lundin <daniel@edgewall.com>
+Copyright 2005, Edgewall Software
+
+The scripts reads emails from stdin and inserts directly into a Trac database.
+MIME headers are mapped as follows:
+
+    * From: => Reporter
+    * Subject: => Summary
+    * Body => Description
+
+How to use
+----------
+ * Set TRAC_ENV_PATH to the path of your project's Trac environment
+ * Configure script as a mail (pipe) filter with your MTA
+    typically, this involves adding a line like this to /etc/aliases:
+       somename: |/path/to/email2trac.py
+    Check your MTA's documentation for specifics.
+
+Todo
+----
+  * Configure target database through env variable?
+  * Handle/discard HTML parts
+  * Attachment support
+"""
+
+TRAC_ENV_PATH = '/var/trac/test'
+
+from trac import Environment, Ticket
+
+import email
+import sys
+
+class TicketEmailParser(object):
+
+    env = None
+
+    def __init__(self, env):
+        self.env = env
+
+    def parse(self, fp):
+        msg = email.message_from_file(fp)
+        db = self.env.get_db_cnx()
+        tkt = Ticket.Ticket()
+        tkt['status'] = 'new'
+        tkt['component'] = self.env.get_config('ticket', 'default_component')
+        cursor = db.cursor()
+        cursor.execute('SELECT owner FROM component '
+                       'WHERE name=%s', tkt['component'])
+        tkt['owner'] = cursor.fetchone()[0]
+        tkt['milestone'] = self.env.get_config('ticket', 'default_milestone')
+        tkt['priority'] = self.env.get_config('ticket', 'default_priority')
+        tkt['severity'] = self.env.get_config('ticket', 'default_severity')
+        tkt['version'] = self.env.get_config('ticket', 'default_version')
+        tkt['reporter'] = msg['from']
+        tkt['summary'] = msg['subject']
+        for part in msg.walk():
+            if part.get_content_type() == 'text/plain':
+                tkt['description'] = part.get_payload(decode=1).strip()
+
+        if tkt.get('description'):
+            tkt.insert(db)
+
+if __name__ == '__main__':
+    env = Environment.Environment(TRAC_ENV_PATH, create=0)
+    tktparser = TicketEmailParser(env)
+    tktparser.parse(sys.stdin)
+
 """
 __docformat__ = 'epytext en'
 
-__version__ = '0.8'
+__version__ = '0.8.1'
 __url__ = 'http://trac.edgewall.com/'
 __copyright__ = '(C) 2003,2004 Edgewall Software'
 __license__ = 'GNU General Public License version 2'
 __license_long__ = """
- Copyright (C) 2003, 2004 Edgewall Software
- Copyright (C) 2003, 2004 Jonas Borgstr�m <jonas@edgewall.com>
- Copyright (C) 2003, 2004 Daniel Lundin <daniel@edgewall.com>
+ Copyright (C) 2003, 2004, 2005 Edgewall Software
+ Copyright (C) 2003, 2004, 2005 Jonas Borgstr�m <jonas@edgewall.com>
+ Copyright (C) 2003, 2004, 2005 Daniel Lundin <daniel@edgewall.com>
 
  Trac is free software; you can redistribute it and/or
  modify it under the terms of the GNU General Public License as

wiki-default/WikiStart

-= Welcome to Trac 0.8 'Qualia' =
+= Welcome to Trac 0.8.1 =
 
 Trac is a '''minimalistic''' approach to '''web-based''' management of
 '''software projects'''. Its goal is to simplify effective tracking and handling of software issues, enhancements and overall progress.