setattr(store, name, valu) cat.add(store) return store def keys(self): stores = self.catalog._catalog.getDataStoresByWorkspace(self._info); return [s.name for s in stores] def __getitem__(self, key): store = self.catalog._catalog.getDataStoreByName(self._info, key) if store: return Store(store, self.catalog) raise KeyError('No such store %s' % key) def __setitem__(self, key, val): self.add(key, val) def __iter__(self): return self.keys().__iter__() def iterkeys(self): return self.keys().__iter__() def iteritems(self): for st in self.keys(): yield (st, self.get(st)) Workspace = info(Workspace)
else: raise Exception('Unable to create store from %s' % str(store)) @lazy def data(self): return GeoScriptWorkspace(ds=self._info.getDataStore(None)) def keys(self): featureTypes = self.catalog._catalog.getFeatureTypesByStore(self._info) return [ft.getName() for ft in featureTypes] def __getitem__(self, key): layer = self.catalog._catalog.getFeatureTypeByStore(self._info, key) if layer: return Layer(layer, self) raise KeyError('No such layer %s' % (key)) def __iter__(self): return self.layers().__iter__() def iterkeys(self): return self.layers().__iter__() def iteritems(self): for l in self.layers(): return (l, self.__getitem__(l)) Store = info(Store)
self._info = ds else: raise Exception('Unable to create store from %s' % str(store)) @lazy def data(self): return GeoScriptWorkspace(ds=self._info.getDataStore(None)) def keys(self): featureTypes = self.catalog._catalog.getFeatureTypesByStore(self._info) return [ft.getName() for ft in featureTypes] def __getitem__(self, key): layer = self.catalog._catalog.getFeatureTypeByStore(self._info, key) if layer: return Layer(layer, self) raise KeyError('No such layer %s' % (key)) def __iter__(self): return self.layers().__iter__() def iterkeys(self): return self.layers().__iter__() def iteritems(self): for l in self.layers(): return (l, self.__getitem__(l)) Store = info(Store)
store = Store(store) if not store: raise Exception('Unable to find store for layer %s' % str(layer)) self.store = store if not self._info: if isinstance(layer, (str, unicode)): cat = self.catalog ft = cat._catalog.getFeatureTypeByDataStore( self.store._info, layer) if not ft: b = cat.builder() b.setStore(store._info) ft = b.buildFeatureType(Name(layer)) self._info = ft else: raise Exception('Unable to create layer from %s' % str(layer)) @lazy def data(self): fs = self._info.getFeatureSource(None, None) return GeoScriptLayer(workspace=self.store.data, fs=fs) Layer = info(Layer)
cat.add(store) return store def keys(self): stores = self.catalog._catalog.getDataStoresByWorkspace(self._info) return [s.name for s in stores] def __getitem__(self, key): store = self.catalog._catalog.getDataStoreByName(self._info, key) if store: return Store(store, self, self.catalog) raise KeyError('No such store %s' % key) def __setitem__(self, key, val): self.add(key, val) def __iter__(self): return self.keys().__iter__() def iterkeys(self): return self.keys().__iter__() def iteritems(self): for st in self.keys(): yield (st, self.get(st)) Workspace = info(Workspace)
from geoscript.layer import Layer as GeoScriptLayer from org.geotools.feature import NameImpl as Name class Layer(object): """ A GeoServer layer. """ def __init__(self, layer, store): self.store = store self.catalog = store.catalog if isinstance(layer, (str,unicode)): cat = self.catalog ft = cat._catalog.getFeatureTypeByDataStore(self.store._info, layer) if not ft: b = cat.builder() b.setStore(store._info) ft = b.buildFeatureType(Name(layer)) self._info = ft else: self._info = layer @lazy def data(self): fs = self._info.getFeatureSource(None, None) return GeoScriptLayer(workspace=self.store.data, fs=fs) Layer = info(Layer)