Пример #1
0
        },
    ],
    'onsite_interview': [{
        'vendor': 'Amir Zadeh (CMU)',
        'product': 'Recorder.exe',
        'pattern': string.Template('${subject}_.*'),
        'protect': True
    }, {
        'vendor': 'Zoom',
        'product': 'unknown',
        'pattern': string.Template('.*(\.MOV|\.WAV)$'),
        'protect': True
    }]
}

Module = lochness.lchop(__name__, 'lochness.')
Basename = lochness.lchop(__name__, 'lochness.dropbox.')

logger = logging.getLogger(__name__)


@net.retry(max_attempts=5)
def sync(Lochness, subject, dry):
    delete = lochness.dropbox.delete_on_success(Lochness, Basename)
    logger.debug('delete_on_success for {0} is {1}'.format(Basename, delete))
    for dbx_sid in subject.dropbox[Module]:
        logger.debug('exploring {0}/{1}'.format(subject.study, subject.id))
        _passphrase = keyring.passphrase(Lochness, subject.study)
        enc_key = enc.kdf(_passphrase)
        api_token = keyring.dropbox_api_token(Lochness, Module)
        client = dropbox.Dropbox(api_token)
Пример #2
0
from pathlib import Path
import hashlib
from io import BytesIO
import lochness.keyring as keyring
from os.path import join as pjoin, basename, dirname, isfile
import cryptease as enc
import re
from subprocess import Popen
import tempfile
import pandas as pd
from numpy import nan
from distutils.spawn import find_executable
import lochness.tree as tree

logger = logging.getLogger(__name__)
Module = lochness.lchop(__name__, 'lochness.')
Basename = lochness.lchop(__name__, 'lochness.mediaflux.')

CHUNK_SIZE = 65536


def base(Lochness, study_name):
    '''get study-specific namespace directory'''
    return Lochness.get('mediaflux', {}) \
                   .get(study_name, {}) \
                   .get('namespace', '')


class PatternError(Exception):
    pass