parameters: (self, table, conditions={})
docstring: Delete(table, conditions) - Delete items matching the given
          conditions from the table.
  
          * conditions - a dictionary keyed on column names containing
            condition functions expecting the data string as an
            argument and returning a boolean.
docstring_summary: Delete(table, conditions) - Delete items matching the given
          conditions from the table.
docstring_tokens: Delete ( table conditions ) - Delete items matching the given conditions from the table .
function: def Delete(self, table, conditions={}):
          """Delete(table, conditions) - Delete items matching the given
          conditions from the table.
  
          * conditions - a dictionary keyed on column names containing
            condition functions expecting the data string as an
            argument and returning a boolean.
          """
  
          try:
              matching_rowids = self.__Select(table, [], conditions)
  
              # delete row data from all columns
              columns = self.__tablecolumns[table]
              for rowid in matching_rowids.keys():
                  txn = None
                  try:
                      txn = self.env.txn_begin()
                      for column in columns:
                          # delete the data key
                          try:
                              self.db.delete(_data_key(table, column, rowid),
                                             txn=txn)
                          except db.DBNotFoundError:
                              # XXXXXXX column may not exist, assume no error
                              pass
  
                      try:
                          self.db.delete(_rowid_key(table, rowid), txn=txn)
                      except db.DBNotFoundError:
                          # XXXXXXX row key somehow didn't exist, assume no error
                          pass
                      txn.commit()
                      txn = None
                  except db.DBError, dberror:
                      if txn:
                          txn.abort()
                      raise
          except db.DBError, dberror:
              if sys.version_info[0] < 3 :
                  raise TableDBError, dberror[1]
              else :
                  raise TableDBError, dberror.args[1]
function_tokens: def Delete ( self , table , conditions = { } ) : try : matching_rowids = self . __Select ( table , [ ] , conditions ) # delete row data from all columns columns = self . __tablecolumns [ table ] for rowid in matching_rowids . keys ( ) : txn = None try : txn = self . env . txn_begin ( ) for column in columns : # delete the data key try : self . db . delete ( _data_key ( table , column , rowid ) , txn = txn ) except db . DBNotFoundError : # XXXXXXX column may not exist, assume no error pass try : self . db . delete ( _rowid_key ( table , rowid ) , txn = txn ) except db . DBNotFoundError : # XXXXXXX row key somehow didn't exist, assume no error pass txn . commit ( ) txn = None except db . DBError , dberror : if txn : txn . abort ( ) raise except db . DBError , dberror : if sys . version_info [ 0 ] < 3 : raise TableDBError , dberror [ 1 ] else : raise TableDBError , dberror . args [ 1 ]