def down(queue, user=None, group=None, mode=None, host=None) :
    '''Down a queue, by creating a down file'''
    # default our owners and mode
    user, group, mode = _dflts(user, group, mode)
    down_path = fsq_path.down(queue, host=host)
    fd = None
    created = False
    try:
        # try to guarentee creation
        try:
            fd = os.open(down_path, os.O_CREAT|os.O_WRONLY|os.O_EXCL, mode)
            created = True
        except (OSError, IOError, ), e:
            if e.errno != errno.EEXIST:
                raise e
            fd = os.open(down_path, os.O_CREAT|os.O_WRONLY, mode)
        if user is not None or group is not None:
            os.fchown(fd, *uid_gid(user, group, fd=fd))
        if not created:
            os.fchmod(fd, mode)
    except (OSError, IOError, ), e:
        if created:
            _cleanup(down_path, e)
        _raise(down_path, e)
    finally:
        if fd is not None:
            os.close(fd)
def down ( queue , user = None , group = None , mode = None , host = None ) : user , group , mode = _dflts ( user , group , mode ) down_path = fsq_path . down ( queue , host = host ) fd = None created = False try : try : fd = os . open ( down_path , os . O_CREAT | os . O_WRONLY | os . O_EXCL , mode ) created = True except ( OSError , IOError , ) , e : if e . errno != errno . EEXIST : raise e fd = os . open ( down_path , os . O_CREAT | os . O_WRONLY , mode ) if user is not None or group is not None : os . fchown ( fd , * uid_gid ( user , group , fd = fd ) ) if not created : os . fchmod ( fd , mode ) except ( OSError , IOError , ) , e : if created : _cleanup ( down_path , e ) _raise ( down_path , e ) finally : if fd is not None : os . close ( fd )
Down a queue, by creating a down file