def main(): opts, args = parse_args() if len(args) != 1: optparser.error('must give path to shapefile') shapefile = args[0] if not os.path.exists(shapefile): optparser.error('file does not exist') ds = DataSource(shapefile) layer = ds[opts.layer_id] metro = get_metro() metro_name = metro['metro_name'].upper() location_type, _ = LocationType.objects.get_or_create( name='neighborhood', plural_name='neighborhoods', scope=metro_name, slug='neighborhoods', is_browsable=True, is_significant=True, ) importer = LocationImporter(layer, location_type) num_created = importer.save(name_field=opts.name_field, source=opts.source, verbose=opts.verbose) if opts.verbose: print >> sys.stderr, 'Created %s neighborhoods.' % num_created
def import_location(shapefile, layer_number, location_type, name, wkt, filter_bounds, display_order): # Passing WKT because background functions need all their args to # be json-serializable. try: layer = layer_from_shapefile(shapefile, layer_number) importer = LocationImporter(layer, location_type, filter_bounds=filter_bounds) geom = GEOSGeometry(wkt) importer.create_location(name, location_type, geom, display_order=display_order) except: logger.exception("Location import of %s failed" % name)