sfcta/NetworkWrangler — pull request #3 by sdrewc (2014-09-02 18:16:47+00:00)
Title: NetworkWrangler updates to support 'plan' project type and network base directory restructure

This commit includes several changes. First, NetworkWrangler now allows the user to specify a base directory (i.e. Y:\networks) and subdirectories for project types: seed, plan, and project. These are all assumed to be contained in the base directory unless otherwise specified. When checking out a project, NetworkWrangler will use the project's type and look in the corresponding subdir. A project is assumed to be of type 'project' unless otherwise specified.

Next, 'plans' are implemented. A plan is a set of projects defined by a csv specification file. The spec file contains two columns: the project name and the project type (plan or project). In order to limit the duplication of information and possibility of conflicting information, the class implementing plans, PlanSpecs, checks out each component project and reads its network types (the type of networks the project belongs to, i.e., 'hwy', 'muni', 'rail', 'bus') and year, if the implementation year is specified. If specified, then the year is passed on to the project so that the project is implemented according to that year.

Finally, each project should now include a python __init__ file for specifying champ version, project description, year, and any additional metadata. Because of this, getProjectVersion, which was implemented in TransitNetwork and HighwayNetwork derived classes, is now implemented in the Network class.