Integrating Batch Modify Into Trac

Posted by Brian Sun, 27 Jun 2010 17:40:00 GMT

Some preliminary discussion on moving the Trac Batch Modify Plugin into Trac has been started here. The proposal page outlines some of the issues that need worked out before adding this functionality into the Trac core, some of which will be worked out in the plugin in the meantime. For example, I have never liked the current UI. It predates the custom query functionality and should be reworked to use a UI similar to that.

If you are a user of the plugin and wish to contribute some thoughts please add them to the the ticket or to the proposal page.

Posted in  | Tags ,  | no comments

Batch Modify 0.6.0 Released

Posted by Brian Sat, 19 Jun 2010 19:38:00 GMT

I released a new version (0.6.0) of the Trac Batch Modify Plugin. This version fixes a bug that caused unexpected results when adding keywords to multiple tickets. You know, modifying them in a batch. Oops. Thanks to beachroad for the patch that corrected this. That same patch also fixed the redirect after a batch modify to bring you back to the same query page.

This release also adds the ability to add keywords from a batch of tickets by putting ‘-’ before the name of the keyword to remove. Thanks to oliver for this patch. There are also new configuration options for list fields, such as keywords. See the plugin page for more details on how to use these. Thanks again to beachroad for providing that patch.

Posted in  | Tags , ,  | no comments

Batch Modify 0.5.0 Released

Posted by Brian Sun, 16 May 2010 03:08:00 GMT

On May 13 I released a new version (0.5.0) of the Trac Batch Modify Plugin. This version adds better support for keyword separators (you can now use any non-alphanumeric character) and the ability to perform a batch modify without changing the last modified time. This is most useful if you are using this plugin in conjunction with the Trac Unread Plugin. Thanks to daltonmatos for this patch.

This is also the first release with separate versions for Trac 0.11 and 0.12. This was necessary to support the last modified time feature. Trac 0.12 changes timestamps to POSIX microseconds from POSIX seconds.

Posted in  | Tags , ,  | no comments

Batch Modify 0.4.1 Released

Posted by Brian Sun, 21 Feb 2010 21:13:00 GMT

On Friday I released a bug fix to the Trac batch modify plugin that addresses a problem users of Trac 0.11 and 0.11.1 were seeing. 0.4 changed the batch modify form to respect the restrict_owner setting, but it does this through a method in the Trac ticket API that did not exist until 0.11.2. This bug fix simply checks to make sure your version of Trac supports this call before attempting to use it.

Posted in  | Tags , ,  | no comments

Batch Modify 0.4 Released

Posted by Brian Wed, 17 Feb 2010 01:32:00 GMT

I released the next version (0.4) of the Trac batch modify plugin today. This release fixes a bug that caused the form checkboxes not to enable the corresponding field when checked. This bug was introduced in 0.3 when I removed some deprecated JQuery syntax. A couple of enhancements were included as well. The restrict_owner config option will now be respected on the form and new keywords will now be merged with the old keywords on each ticket. Previously the old keywords were simply thrown away.

Posted in  | Tags , ,  | no comments

52 Books a Year: #23 - Programming in Python 3

Posted by Brian Thu, 03 Dec 2009 00:55:00 GMT

Programming in Python 3
By Mark Summerfield

4/5

Programming in Python 3 was my introduction to Python and the book that guided me when I started my pyFish project. When I started the project I decided I wanted to use Python 3, which had just came out, and this was the only book that had been published at the time.

First, the good. If you are an experienced programmer looking to pick up a new language this is a good book. The first section gets you up to speed with the language quickly and little time is wasted with introductory concepts. Through the rest of the book you get a good overview of Python features,with extra emphasis given to those added in Python 3, and information about libraries that can be used for various tasks, such as XML processing.

It’s not all good though. At times the writing is very dense. The book covers a lot of ground and Summerfield doesn’t waste much time covering it. Needless to say this is not the book for someone new to programming. However, the choices in Python 3 books were still pretty slim last I looked so this might be the best choice there is. I know it will serve as a useful reference for yours to come on my shelf.

Posted in  | Tags , ,  | no comments

pyFish Lives

Posted by Brian Sun, 26 Jul 2009 20:09:00 GMT

I hit some key milestones in pyFish development over the past several weeks. First, I had the Warfish API activated for my account and was able to complete basic moves. Now in the past week I have a bot that can randomly place units, attack, handle free transfers after captures, and end its turn. About the only thing it does not do right now is turn in cards. This bot has no intelligence and will get trounced by even a first time player, but it does demonstrate that most of the plumbing code is now in a working state for a game with standard rules. The next step is to start building some simple utilities with the framework, such as an attack probability calculator and continent utility. The object model needs some tweaking too. I am ironing those issues out as I go.

On a side note, I’m also starting to feel more comfortable in Python. I often find myself writing C# at work, thinking that this would be easier to implement in Python. Now I just need a job where I can do so.

Tags ,  | no comments

The Power of Python

Posted by Brian Sat, 27 Jun 2009 02:24:00 GMT

I am making good progress on pyFish right now. It currently makes a fairly complete object model of the game and I am implementing moves right now. I should be able to have a working bot within the next week. It won’t be intelligent, but it will be able to make moves. I am also loving the style of Python and am actively trying to unlearn some C# habits in order to become more Pythonic. I unlearned a couple this past week and was able to eliminate about half of my code while still retaining all of the functionality and flexibility.

Tags ,  | no comments