def properties(self, key=None, version=None): ''' Return all the properties associated with the current object. If key is set to something other than None, return only those properties matching key. By default, returns properties for the current version of the object, but if version is set to a value other than CPL.VERSION_NONE, then will return properties for that version. ''' if version is None: version = VERSION_NONE vp = CPLDirect.new_std_vector_cplxx_property_entry_tp() ret = CPLDirect.cpl_get_properties(self.id, version, key, CPLDirect.cpl_cb_collect_properties_vector, vp) if not CPLDirect.cpl_is_ok(ret): CPLDirect.delete_std_vector_cplxx_property_entry_tp(vp) raise Exception('Error retrieving properties: ' + CPLDirect.cpl_error_string(ret)) v = CPLDirect.cpl_dereference_p_std_vector_cplxx_property_entry_t(vp) l = [] for e in v: l.append([e.key, e.value]) CPLDirect.delete_std_vector_cplxx_property_entry_tp(vp) return l
def properties(self, key=None, version=None): ''' Return all the properties associated with the current object. If key is set to something other than None, return only those properties matching key. By default, returns properties for the current version of the object, but if version is set to a value other than CPL.VERSION_NONE, then will return properties for that version. ''' if version is None: version = VERSION_NONE vp = CPLDirect.new_std_vector_cplxx_property_entry_tp() ret = CPLDirect.cpl_get_properties( self.id, version, key, CPLDirect.cpl_cb_collect_properties_vector, vp) if not CPLDirect.cpl_is_ok(ret): CPLDirect.delete_std_vector_cplxx_property_entry_tp(vp) raise Exception('Error retrieving properties: ' + CPLDirect.cpl_error_string(ret)) v = CPLDirect.cpl_dereference_p_std_vector_cplxx_property_entry_t(vp) l = [] for e in v: l.append([e.key, e.value]) CPLDirect.delete_std_vector_cplxx_property_entry_tp(vp) return l
def properties(self, prefix=None, key=None): ''' Return all the properties associated with the current relation. If key is set to something other than None, return only those properties matching key. ''' vp = CPLDirect.new_std_vector_cplxx_property_entry_tp() ret = CPLDirect.cpl_get_relation_properties(self.id, prefix, key, CPLDirect.cpl_cb_collect_properties_vector, vp) if not CPLDirect.cpl_is_ok(ret): CPLDirect.delete_std_vector_cplxx_property_entry_tp(vp) raise CPLException('Error retrieving properties: ' + CPLDirect.cpl_error_string(ret), ret) v = CPLDirect.cpl_dereference_p_std_vector_cplxx_property_entry_t(vp) l = [] for e in v: l.append([e.prefix, e.key, e.value]) CPLDirect.delete_std_vector_cplxx_property_entry_tp(vp) return l
def properties(self, prefix=None, key=None): ''' Return all the properties associated with the current relation. If key is set to something other than None, return only those properties matching key. ''' vp = CPLDirect.new_std_vector_cplxx_property_entry_tp() ret = CPLDirect.cpl_get_relation_properties( self.id, prefix, key, CPLDirect.cpl_cb_collect_properties_vector, vp) if not CPLDirect.cpl_is_ok(ret): CPLDirect.delete_std_vector_cplxx_property_entry_tp(vp) raise CPLException( 'Error retrieving properties: ' + CPLDirect.cpl_error_string(ret), ret) v = CPLDirect.cpl_dereference_p_std_vector_cplxx_property_entry_t(vp) l = [] for e in v: l.append([e.prefix, e.key, e.value]) CPLDirect.delete_std_vector_cplxx_property_entry_tp(vp) return l