Exemple #1
0
def link(request, devicetype, basepath):
    device = None
    for d in devices():
        if d.get('basepath') == basepath:
            device = d
    if not device:
        raise Exception('No device with basepath %s.' % basepath)
    
    ddrstorage.unlink()
    ddrstorage.link(device['basepath'])
    _mount_common(request, device)

    if os.path.exists(settings.MEDIA_BASE):
        return 'ok','Device %s has been linked.' % device['label']
    return 'err','Device %s could not be linked.' % device['label']
Exemple #2
0
def mount_hdd( request, device ):
    """
    @param request: Django request object; used to access session.
    @param mount_path: Absolute path to mounted device; "/ddr" will be appended.
    """
    logger.debug('mount_hdd(%s, %s)' % (device['mountpath'], device['label']))
    logger.debug('device: %s' % device)
    ddrstorage.unlink()
    ddrstorage.link(device['mountpath'])
    _mount_common(request, device['devicefile'], device['label'], device['mountpath'])
    MB = settings.MEDIA_BASE
    if os.path.exists(MB) and os.path.islink(MB) and os.access(MB,os.W_OK):
        messages.success(request, '<strong>%s</strong> is now the active device.' % device['mountpath'])
    else:
        messages.error(request, 'Could not make <strong>%s</strong> the active device.' % device['mountpath'])
    return device['mountpath']
Exemple #3
0
def mount_usb( request, device ):
    """Mounts requested device, adds /var/www/ddr/media symlink, gives feedback.
    """
    logger.debug('mount_usb(devicefile=%s, label=%s)' % (device['devicefile'], device['label']))
    logger.debug('device: %s' % device)
    mount_path = ddrstorage.mount(device['devicefile'], device['label'])
    logger.debug('mount_path: %s' % mount_path)
    if mount_path:
        ddrstorage.unlink()
        if device.get('mountpath'):
            ddrstorage.link(device['mountpath'])
            _mount_common(request, device['devicefile'], device['label'], device['mountpath'])
            msg = STORAGE_MESSAGES['MOUNT_SUCCESS'].format(device['label'])
            messages.success(request, msg)
    elif mount_path == False:
        msg = STORAGE_MESSAGES['MOUNT_FAIL_PATH'].format(
            device['devicefile'], device['label'], stat, mount_path)
        messages.warning(request, msg)
    else:
        msg = STORAGE_MESSAGES['MOUNT_FAIL'].format(
            device['devicefile'], device['label'], stat, mount_path)
        messages.error(request, msg)
    return mount_path