示例#1
0
def download(doc_id):
    try:
        logger.debug("Download %s", doc_id)
        doc = mongo.find_document('samediff', doc_id)
        headers = [
            _('word'),
            _('uses in') + ' ' + doc['filenames'][0],
            _('uses in') + ' ' + doc['filenames'][1],
            _('total uses')
        ]
        rows = []
        for f, w in doc['sameWords']:
            doc1Count = next(f2 for f2, w2 in doc['mostFrequentDoc1']
                             if w == w2)
            doc2Count = next(f2 for f2, w2 in doc['mostFrequentDoc2']
                             if w == w2)
            rows.append([w, doc1Count, doc2Count, f])
        for f, w in doc['diffWordsDoc1']:
            rows.append([w, f, 0, f])
        for f, w in doc['diffWordsDoc1']:
            rows.append([w, 0, f, f])
        # TODO: clean up file name
        file_path = filehandler.write_to_csv(
            headers, rows,
            filehandler.generate_filename('csv', '', doc['filenames'][0],
                                          doc['filenames'][1]), False)
        logger.debug('  created csv to download at %s', file_path)
        return filehandler.generate_csv(file_path)
    except Exception as e:
        logging.exception(e)
        abort(400)
示例#2
0
def download_csv(doc_id, analysis_type):
    logger.debug("Download %s", analysis_type)
    if analysis_type not in ['words','bigrams','trigrams']:
        logger.warning("Requested unknown csv type: %s",analysis_type)
        abort(400)
    try:
        doc = mongo.find_document('wordcounter', doc_id)
    except:
        logger.warning("Unable to find doc '%s'", doc_id)
        abort(400)
    file_path = create_csv_file(doc.get('counts'),analysis_type)
    logger.debug('  created %s csv to download at %s', analysis_type, file_path)
    if file_path is None:
        abort(500)
    return filehandler.generate_csv(file_path)
示例#3
0
def download_csv(doc_id, analysis_type):
    logger.debug("Download %s", analysis_type)
    if analysis_type not in ['words','bigrams','trigrams']:
        logger.warning("Requested unknown csv type: %s",analysis_type)
        abort(400)
    try:
        doc = mongo.find_document('wordcounter', doc_id)
    except:
        logger.warning("Unable to find doc '%s'", doc_id)
        abort(400)
    file_path = create_csv_file(doc.get('counts'),analysis_type)
    logger.debug('  created %s csv to download at %s', analysis_type, file_path)
    if file_path is None:
        abort(500)
    return filehandler.generate_csv(file_path)
示例#4
0
def download(doc_id):
    try:
        logger.debug("Download %s", doc_id)
        doc = mongo.find_document('samediff', doc_id)
        headers = [_('word'), _('uses in') +' ' + doc['filenames'][0], _('uses in') + ' ' + doc['filenames'][1], _('total uses')]
        rows = []
        for f, w in doc['sameWords']:
            doc1Count = next(f2 for f2, w2 in doc['mostFrequentDoc1'] if w == w2)
            doc2Count = next(f2 for f2, w2 in doc['mostFrequentDoc2'] if w == w2)
            rows.append([w, doc1Count, doc2Count, f])
        for f, w in doc['diffWordsDoc1']:
            rows.append([w, f, 0, f])
        for f, w in doc['diffWordsDoc1']:
            rows.append([w, 0, f, f])
        # TODO: clean up file name
        file_path = filehandler.write_to_csv(headers, rows, 
            filehandler.generate_filename('csv', '', doc['filenames'][0], doc['filenames'][1]), False)
        logger.debug('  created csv to download at %s', file_path)
        return filehandler.generate_csv(file_path)
    except Exception as e:
        logging.exception(e)
        abort(400)