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)
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)
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)