'Does a field preprocessing (if needed) based on its type (e.g. image to text)
Note: used primarily in dumping of custom tables'

def preprocessField(self, table, field):

    retVal = field
    if (conf.db and table and (conf.db in table)):
        table = table.split(conf.db)[(-1)].strip('.')
    try:
        columns = kb.data.cachedColumns[safeSQLIdentificatorNaming(conf.db)][safeSQLIdentificatorNaming(table, True)]
        for (name, type_) in columns.items():
            if (type_ and (type_.upper() in DUMP_DATA_PREPROCESS.get(Backend.getDbms(), {})) and (name == field)):
                retVal = (DUMP_DATA_PREPROCESS[Backend.getDbms()][type_.upper()] % name)
                break
    except KeyError:
        pass
    return retVal
