def create_dataset(name, title, owner_name, geometry_type, attributes=None): """ Create an empty layer in GeoServer and register it in GeoNode. """ # first validate parameters if geometry_type not in ('Point', 'LineString', 'Polygon'): msg = 'geometry must be Point, LineString or Polygon' logger.error(msg) raise GeoNodeException(msg) name = get_valid_name(name) # we can proceed logger.debug('Creating the layer in GeoServer') workspace, datastore = create_gs_dataset(name, title, geometry_type, attributes) logger.debug('Creating the layer in GeoNode') return create_gn_dataset(workspace, datastore, name, title, owner_name)
def create_layer(name, title, owner_name, geometry_type, attributes=None): """ Create an empty layer in GeoServer and register it in GeoNode. """ # first validate parameters if geometry_type not in ('Point', 'LineString', 'Polygon'): msg = 'geometry must be Point, LineString or Polygon' logger.error(msg) raise GeoNodeException(msg) name = get_valid_name(name) # we can proceed logger.debug('Creating the layer in GeoServer') workspace, datastore = create_gs_layer(name, title, geometry_type, attributes) logger.debug('Creating the layer in GeoNode') return create_gn_layer(workspace, datastore, name, title, owner_name)
def test_get_valid_name(self): self.assertEquals(get_valid_name("blug"), "blug") self.assertEquals(get_valid_name("<-->"), "_") self.assertEquals(get_valid_name("<ab>"), "_ab_") self.assertEquals(get_valid_name("CA"), "CA_1") self.assertEquals(get_valid_name("CA"), "CA_1")