def test(self):
		va_rows = sasi.util.va.read_va_from_csv(conf.conf['va_file'])
		va = VulnerabilityAssessment(rows = va_rows)	
		f_by_h = va.get_features_by_habitats()
		features = va.get_features()
		substrates = va.get_substrates()
		g_by_h = va.get_gear_categories_by_habitats()
		gear_categories = va.get_gear_categories()
		h_by_g = va.get_habitats_by_gear_categories()
		habitats_for_gear = va.get_habitats_for_gear_category(gear_categories.keys().pop())
		features_for_gear = va.get_features_for_gear_category(gear_categories.keys().pop())
		f_by_g = va.get_features_by_gear_categories()
		habitats = va.get_habitats()
def main():
	# Read habitat types and features from vulnerability assessment.
	va_rows = sasi.util.va.read_va_from_csv(conf.conf['va_file'])
	va = VulnerabilityAssessment(rows = va_rows)	
	valid_habitat_types = va.get_habitats()
	features_by_habs = va.get_features_by_habitats()

	# Get DB session.
	session = sa_session.get_session()
	
	# Clear habitat_types table.
	session.execute(sa_habitat_type.habitat_type_feature_table.delete())
	session.execute(sa_habitat_type.habitat_type_table.delete())
	session.commit()

	# For each valid habitat_type...
	for h in valid_habitat_types:

		(substrate_id,energy) = h.split(',')

		# Get substrate object.
		substrate = session.query(Substrate).filter(Substrate.id == substrate_id).one()

		# Get features.
		features_for_hab = features_by_habs[h]
		features = []
		for category_features in features_for_hab.values():
			features.extend([session.query(Feature).filter(Feature.id == f).one() for f in category_features])

		# Create habitat_type object.
		habitat_type_obj = Habitat_Type(substrate=substrate, energy=energy, features=features)

		# Add to session.
		session.add(habitat_type_obj)

	# Save to db. 
	session.commit()