コード例 #1
0
ファイル: views.py プロジェクト: ablab/quast-website
def download_data_set(request, data_set_id, what, file_ext):
    us = get_session(request)
    data_sets = DataSet.get_common_data_sets() if us is None else us.get_all_allowed_dataset_set()

    if what == 'reference':
        data_set_id, file_ext = DataSet.split_seq_ext(data_set_id + file_ext)

    try:
        ds = data_sets.get(dirname=data_set_id)
    except DataSet.DoesNotExist:
        return HttpResponseNotFound('Data set %s was not found' % data_set_id)

    if what == 'reference':
        fpath = os.path.join(ds.get_dirpath(), ds.reference_fname)
        if DataSet.split_seq_ext(fpath)[1] != file_ext:
            return HttpResponseNotFound()

        return __download(fpath, data_set_id + file_ext)

    else:
        if what == 'genes':
            fpath = os.path.join(ds.get_dirpath(), ds.genes_fname)
        elif what == 'operons':
            fpath = os.path.join(ds.get_dirpath(), ds.operons_fname)
        else:
            return HttpResponseNotFound()

        if DataSet.split_genes_ext(fpath)[1] != file_ext:
            return HttpResponseNotFound()

        return __download(fpath, data_set_id + '_' + what + file_ext)