Example #1
0
 def __getitem__(self, index):
     "Allows use of the index [] operator to get a layer at the index."
     if isinstance(index, basestring):
         l = get_layer_by_name(self._ptr, index)
         if not l: raise OGRIndexError('invalid OGR Layer name given: "%s"' % index)
     elif isinstance(index, int):
         if index < 0 or index >= self.layer_count:
             raise OGRIndexError('index out of range')
         l = get_layer(self._ptr, index)
     else:
         raise TypeError('Invalid index type: %s' % type(index))
     return Layer(l, self)
Example #2
0
 def __getitem__(self, index):
     if isinstance(index, basestring):
         l = capi.get_layer_by_name(self.ptr, index)
         if not l:
             raise OGRIndexError('invalid OGR Layer name given: "%s"' % index)
     elif isinstance(index, int):
         if index < 0 or index >= self.layer_count:
             raise OGRIndexError("index out of range")
         l = capi.get_layer(self._ptr, index)
     else:
         raise TypeError("Invalid index type: %s" % type(index))
     return FilteredLayer(l, self, filter_map=self.filter_map)
Example #3
0
 def __getitem__(self, index):
     "Allows use of the index [] operator to get a layer at the index."
     if isinstance(index, six.string_types):
         l = capi.get_layer_by_name(self.ptr, force_bytes(index))
         if not l: raise OGRIndexError('invalid OGR Layer name given: "%s"' % index)
     elif isinstance(index, int):
         if index < 0 or index >= self.layer_count:
             raise OGRIndexError('index out of range')
         l = capi.get_layer(self._ptr, index)
     else:
         raise TypeError('Invalid index type: %s' % type(index))
     return Layer(l, self)
Example #4
0
 def __getitem__(self, index):
     "Allows use of the index [] operator to get a layer at the index."
     if isinstance(index, six.string_types):
         layer = capi.get_layer_by_name(self.ptr, force_bytes(index))
         if not layer:
             raise OGRIndexError('invalid OGR Layer name given: "%s"' % index)
     elif isinstance(index, int):
         if index < 0 or index >= self.layer_count:
             raise OGRIndexError("index out of range")
         layer = capi.get_layer(self._ptr, index)
     else:
         raise TypeError("Invalid index type: %s" % type(index))
     return Layer(layer, self)
Example #5
0
 def __getitem__(self, index):
     "Allows use of the index [] operator to get a layer at the index."
     if isinstance(index, str):
         layer = capi.get_layer_by_name(self.ptr, force_bytes(index))
         if not layer:
             raise IndexError('Invalid OGR layer name given: %s.' % index)
     elif isinstance(index, int):
         if 0 <= index < self.layer_count:
             layer = capi.get_layer(self._ptr, index)
         else:
             raise IndexError('Index out of range when accessing layers in a datasource: %s.' % index)
     else:
         raise TypeError('Invalid index type: %s' % type(index))
     return Layer(layer, self)
Example #6
0
 def __getitem__(self, index):
     "Allows use of the index [] operator to get a layer at the index."
     if isinstance(index, str):
         try:
             layer = capi.get_layer_by_name(self.ptr, force_bytes(index))
         except GDALException:
             raise IndexError('Invalid OGR layer name given: %s.' % index)
     elif isinstance(index, int):
         if 0 <= index < self.layer_count:
             layer = capi.get_layer(self._ptr, index)
         else:
             raise IndexError('Index out of range when accessing layers in a datasource: %s.' % index)
     else:
         raise TypeError('Invalid index type: %s' % type(index))
     return Layer(layer, self)