lp:~brendan-donegan/arsenal/lp-file-bug-lpltk

Created by Brendan Donegan and last modified
Get this branch:
bzr branch lp:~brendan-donegan/arsenal/lp-file-bug-lpltk
Only Brendan Donegan can upload to this branch. If you are Brendan Donegan please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Brendan Donegan
Project:
arsenal
Status:
Development

Recent revisions

183. By Brendan Donegan

Close and unlink the temp file used by lp-file-bug.

182. By Brendan Donegan

Add name to AUTHORS

181. By Brendan Donegan

Added lp-file-bug script and slightly modified create_bug in LaunchpadService to support the desired behaviour.

180. By Bryce Harrington

Release 2.2

* Add TKCollection abstract base class
* Add TKEntry abstract base class
* Add BugWatch wrapper class
* Add uri() to several classes to get the self_link
* distribution.py: Handle undefined series
* LaunchpadService.py:
  - Deprecate person(); users should switch to get_person() now
  - Make API more consistently return TK objs rather than LPL ones
  - Add get_team_participants()
* bug_task.py / bug_tasks.py:
  - Enable filtering the list of bugs in various ways
  - Check person existance before use
  - Add is_complete_upstream()
  - Add set_filter_importance_length()
* bug.py / bugs.py:
  - Add age_latest_patch()
  - Fix timezone comparison error
* message.py / messages.py:
  - Enable filtering the list of messages in various ways
  - Add routine to return list of poster names for message collections

179. By Bryce Harrington

Cleanup comments

178. By Bryce Harrington

Operate on files as well as directories. Tweak regex to be more permissive.

177. By Bryce Harrington

lpltk includes classes for objects and for object-collections.
For example, Message and Messages or Bug and Bugs.

All of the collection classes have certain functions defined, __iter__,
__get__, et al. These are all more or less identical functions.

TKCollection is a new common (abstract) base class for all of these
collection classes, that provides those identical functions.

The benefits of doing this are a) to eliminate code duplication and thus
make maintenace easier, and b) to reduce the amount of boilerplate
needed when adding a new collection class. The net result of adding
this class should be an overall reduction in line count.

176. By Bryce Harrington

TKEntry is a new abstract base class for all lpltk classes that wrapper
launchpad Entry type objects. Essentially, instead of writing wrapper
functions for each function in a given launchpad api object, we ask the
launchpad object what functions it has, and then dynamically create our
own getter functions from that.

Further, for Collection type properties (e.g. bug.messages) it figures
out what the Launchpad data type is via the object's
'resource_type_link' field and then creates the appropriate lpltk
collection class (e.g. Messages).

This class would enable us to more easily wrap ALL of the remaining LP
API, and do it in a more consistent, predictable way. If new routines
are added to the LP API, this will allow them to be picked up
automatically. This does add a bit more complexity which might make
things trickier to debug, however that's offset by reducing the size of
the codebase. It may also require some rejiggering of how classes are
instantiated (so that they all match), and other refactoring, which may
be a bit disruptive.

175. By Bryce Harrington

Handle undefined series.

Many !Ubuntu distributions don't have series defined in launchpad, so
the code will fail here without this check.

174. By Bryce Harrington

Add uri()

Branch metadata

Branch format:
Branch format 6
Repository format:
Bazaar pack repository format 1 (needs bzr 0.92)
This branch contains Public information 
Everyone can see this information.

Subscribers