Roundup Issue Tracker release 1.4.2
I'm proud to release version 1.4.2 of Roundup. If you're upgrading from an older version of Roundup you *must* follow the Software Upgrade guidelines given in the maintenance documentation. New Features in 1.4.2: - New config option in mail section: ignore_alternatives allows to ignore alternatives besides the text/plain part used for the content of a message in multipart/alternative attachments. - Admin copy of error email from mailgw includes traceback (thanks Ulrik Mikaelsson) - Messages created through the web are now given an in-reply-to header when email out to nosy (thanks Martin v. Löwis) - Nosy messages now include more information about issues (all link properties with a name attribute) (thanks Martin v. Löwis) And things fixed: - Searching date range by supplying just a date as the filter spec - Handle no time.tzset under Windows (sf #1825643) - Fix race condition in file storage transaction commit (sf #1883580) - Make user utils JS work with firstname/lastname again (sf #1868323) - Fix ZRoundup to work with Zope 2.8.5 (sf #1806125) - Fix race condition for key properties in rdbms backends (sf #1876683) - Handle Reject in mailgw final set/create (sf #1826425) Roundup requires python 2.3 or later for correct operation. To give Roundup a try, just download (see below), unpack and run:: roundup-demo Release info and download page: http://cheeseshop.python.org/pypi/roundup Source and documentation is available at the website: http://roundup.sourceforge.net/ Mailing lists - the place to ask questions: http://sourceforge.net/mail/?group_id=31577 About Roundup = Roundup is a simple-to-use and -install issue-tracking system with command-line, web and e-mail interfaces. It is based on the winning design from Ka-Ping Yee in the Software Carpentry Track design competition. Note: Ping is not responsible for this project. The contact for this project is [EMAIL PROTECTED] Roundup manages a number of issues (with flexible properties such as description, priority, and so on) and provides the ability to: (a) submit new issues, (b) find and edit existing issues, and (c) discuss issues with other participants. The system will facilitate communication among the participants by managing discussions and notifying interested parties when issues are edited. One of the major design goals for Roundup that it be simple to get going. Roundup is therefore usable out of the box with any python 2.3+ installation. It doesn't even need to be installed to be operational, though a disutils-based install script is provided. It comes with two issue tracker templates (a classic bug/feature tracker and a minimal skeleton) and four database back-ends (anydbm, sqlite, mysql and postgresql). -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations.html
[ANN] Release 0.69.0 of Task Coach
Hi, I'm happy to announce release 0.69.0 of Task Coach. This release makes it possible to repeat tasks on either a daily or a weekly basis and to add notes to categories. It also contains a number of other changes and bug fixes. Bugs fixed: * The reminder dialog didn't close when opening the task from the reminder dialog. If the user had entered a snooze option in the reminder dialog, that snooze option would be overwritten when closing the task editor. * Don't allow filtering by both a parent and a child category at the same time. * Sorting by total categories in the task viewers didn't sort correctly. * Save didn't work for task files without a file name and without tasks, but with categories or notes. * Adding a task to a category or removing it from a category was not undoable. Features added: * Tasks can recur on a daily or weekly basis. This feature is not complete yet. Most obviously, recurring on a monthly basis is missing. Also, recurring tasks with recurring subtasks do not behave entirely correctly yet. * Notes can be assigned to categories. * Added Bulgarian translation, thanks to Rumen Belev. * Added Danish translation, thanks to different translators. * Added a number of rather incomplete translations (Italian, Portuguese, Swedish, and Turkish). See http://www.taskcoach.org/i18n.html for how you can help improve these translations. * When filtering by one or more categories, new tasks and notes are automatically added to those categories. Of course, you can still change the categories in the category tab of the edit dialog before pressing the OK button. * Whether descriptions of tasks, effort records, categories and notes are shown in a popup tooltip window is now a setting. * Added menu items for increasing, decreasing, maximizing, and minimizing task priority. * Clicking a column header in a task viewer now iterates through the following sort orders: 'ascending, after sorting by task status first', 'descending, after sorting by task status first', 'ascending, without sorting by task status first', 'descending, without sorting by task status first'. Features changed: * Previously, unset dates were displayed as 'None' in date columns. To be consistent with how other attributes are displayed in columns, Task Coach now simply displays nothing for unset dates in date columns. * Task Coach now uses the infinity symbol ('∞') to display the number of days left for tasks without a due date, instead of the word 'Infinite'. * Task Coach now uses a real arrow symbol ('→') instead of '-' for separating parent and child subjects in the different viewers. Feature removed: * Task Coach no longer keeps track of the 'last modification time' of tasks. What is Task Coach? Task Coach is a simple task manager that allows for hierarchical tasks, i.e. tasks in tasks. Task Coach is open source (GPL) and is developed using Python and wxPython. You can download Task Coach from: http://www.taskcoach.org In addition to the source distribution, packaged distributions are available for Windows XP/Vista, Mac OSX, and Linux (Debian and RPM format). Note that Task Coach is alpha software, meaning that it is wise to back up your task file regularly, and especially when upgrading to a new release. Cheers, Frank -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations.html
ANN: next pyCologne meeting, Wed Feb 13, 2008, 6:30 pm
Dear Pythonistas, the next monthly meeting of pyCologne, the Python User Group Köln, takes place on: Date: Wednesday Feb 13, 2008 Time: 6:30 Uhr pm CET c.t. Venue: Room 0.14 , ground floor, computing centre (RRZK-B) Universität Köln, Berrenrather Str. 136, 50937 Köln Agenda: * Bicycle Repairman - Your daily refactoring helper in Idle, Emacs and SciTE. Short introduction and usage examples (in German) (Rex Turnbull) * Key Signing Party (Organisation Christopher Arndt) Around 8:30 pm we will head to a nearby establishment and have some drinks, food and a friendly chat. Further information about pyCologne, including directions, photographs and minutes of past meetings etc., can be found on our page in the German Python wiki: http://wiki.python.de/pyCologne CU, Christopher Arndt -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations.html
ANN: pyparsing 1.4.11 released
I have just uploaded version 1.4.11 of pyparsing to SourceForge. It has been a pretty full 2 months since the last release, with contributions from new users, old users, and also some help from the Google Highly-Open Participation contest. I think there are some very interesting new features in this release. Please check it out! (Please note - if you download and install the Windows binary, this will NOT include the HTML doc or examples directory. TO get these, you will need to download the docs or one of the source distributions.) The pyparsing wiki is at http://pyparsing.wikispaces.com. Here are the notes for 1.4.11: Version 1.4.11 - February 10, 2008 -- - With help from Robert A. Clark, this version of pyparsing is compatible with Python 3.0a3. Thanks for the help, Robert! - Added WordStart and WordEnd positional classes, to support expressions that must occur at the start or end of a word. Proposed by piranha on the pyparsing wiki, good idea! - Added matchOnlyAtCol helper parser action, to simplify parsing log or data files that have optional fields that are column dependent. Inspired by a discussion thread with hubritic on comp.lang.python. - Added withAttribute.ANY_VALUE as a match-all value when using withAttribute. Used to ensure that an attribute is present, without having to match on the actual attribute value. - Added get() method to ParseResults, similar to dict.get(). Suggested by new pyparsing user, Alejandro Dubrovksy, thanks! - Added '==' short-cut to see if a given string matches a pyparsing expression. For instance, you can now write: integer = Word(nums) if 123 == integer: # do something print [ x for x in 123 234 asld.split() if x==integer ] # prints ['123', '234'] - Simplified the use of nestedExpr when using an expression for the opening or closing delimiters. Now the content expression will not have to explicitly negate closing delimiters. Found while working with dfinnie on GHOP Task #277, thanks! - Fixed bug when defining ignorable expressions that are later enclosed in a wrapper expression (such as ZeroOrMore, OneOrMore, etc.) - found while working with Prabhu Gurumurthy, thanks Prahbu! - Fixed bug in withAttribute in which keys were automatically converted to lowercase, making it impossible to match XML attributes with uppercase characters in them. Using with- Attribute requires that you reference attributes in all lowercase if parsing HTML, and in correct case when parsing XML. - Changed '' operator on Forward to return None, since this is really used as a pseudo-assignment operator, not as a left-shift operator. By returning None, it is easier to catch faulty statements such as a b | c, where precedence of operations causes the '|' operation to be performed *after* inserting b into a, so no alternation is actually implemented. The correct form is a (b | c). With this change, an error will be reported instead of silently clipping the alternative term. (Note: this may break some existing code, but if it does, the code had a silent bug in it anyway.) Proposed by wcbarksdale on the pyparsing wiki, thanks! - Several unit tests were added to pyparsing's regression suite, courtesy of the Google Highly-Open Participation Contest. Thanks to all who administered and took part in this event! Pyparsing is a pure-Python class library for quickly developing recursive-descent parsers. Parser grammars are assembled directly in the calling Python code, using classes such as Literal, Word, OneOrMore, Optional, etc., combined with operators '+', '|', and '^' for And, MatchFirst, and Or. No separate code-generation or external files are required. Pyparsing can be used in many cases in place of regular expressions, with shorter learning curve and greater readability and maintainability. Pyparsing comes with a number of parsing examples, including: - Hello, World! (English, Korean, Greek, and Spanish) - chemical formulas - configuration file parser - web page URL extractor - 5-function arithmetic expression parser - subset of CORBA IDL - chess portable game notation - simple SQL parser - search query parser - EBNF parser/compiler - Python value string parser (lists, dicts, tuples, with nesting) (safe alternative to eval) - HTML tag stripper - S-expression parser - macro substitution preprocessor -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations.html