<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:

def uninstall_host(trg_queue, *hosts, **kwargs):
    '''Idempotently uninstall a host queue, should you want to subvert FSQ_ROOT
       settings, merely pass in an abolute path'''
    # immediately down the queue
    item_user = kwargs.pop('item_user', None)
    item_group = kwargs.pop('item_group', None)
    item_mode = kwargs.pop('item_mode', None)
    for host in hosts:
    # immediately down the queue
        try:
            down_host(trg_queue, host, user=item_user, group=item_group,
                 mode=(_c.FSQ_ITEM_MODE if item_mode is None else item_mode))
        except FSQError, e:
            raise FSQInstallError(e.errno, wrap_io_os_err(e))
        tmp_full, tmp_queue = _tmp_trg(host, fsq_path.hosts(trg_queue))
        _remove_dir(fsq_path.base(trg_queue, host), tmp_full, trg_queue)