'Return available formats as a comma separated list or None if there are no available formats'

def formats(self, index, index_is_id=False, verify_formats=True):

    id_ = (index if index_is_id else self.id(index))
    formats = self.data.get(id_, self.FIELD_MAP['formats'], row_is_id=True)
    if (not formats):
        return None
    if (not verify_formats):
        return formats
    formats = formats.split(',')
    ans = []
    for fmt in formats:
        if (self.format_abspath(id_, fmt, index_is_id=True) is not None):
            ans.append(fmt)
    if (not ans):
        return None
    return ','.join(ans)
