mozilla/treeherder-service — pull request #32 by camd (2013-06-13 01:04:02+00:00)
Title: Log Job Artifact Builder and refactor

I refactored most of the code to make this more straightforward and create less noise.

Architecture
============

ArtifactBuilderCollection
------------------
* Holds one or more instances of ``ArtifactBuilderBase``
* If ``builders`` passed in, uses those as the artifact
builders, otherwise creates the default artifact builders.
* Reads the log from the log handle/url and walks each line
calling into each artifact builder with each line for handling
* Maintains no state

ArtifactBuilderBase
-------------
* Base class for all artifact builders`.
* Manages:
* artifact
* line number
* parsers
* Passes lines into each ``Parser``

BuildbotLogViewArtifactBuilder
-------------
* Parses out content for use in a visual Log Parser
* Parsers:
* StepParser, which has its own ErrorParser

BuildbotJobArtifactBuilder
-------------
* Builds an artifact for the TBPL main UI panel
* Parsers:
* ErrorParser
* TinderboxPrintParser