def import_bibtex(request): review_id = request.POST['review-id'] source_id = request.POST['source-id'] review = Review.objects.get(pk=review_id) source = Source.objects.get(pk=source_id) bibtex_file = request.FILES['bibtex'] list_bibtex_file = fix_bibtex_file(bibtex_file.readlines()) str_bibtex_file = '\r\n'.join(list_bibtex_file) ext = os.path.splitext(bibtex_file.name)[1] valid_extensions = ['.bib', '.bibtex'] if ext in valid_extensions or bibtex_file.content_type == 'application/x-bibtex': parser = BibTexParser() parser.customization = convert_to_unicode bib_database = bibtexparser.loads(str_bibtex_file, parser=parser) articles = bibtex_to_article_object(bib_database, review, source) import pdb; pdb.set_trace() _import_articles(request, source, articles) else: messages.error(request, u'Invalid file type. Only .bib or .bibtex files are accepted.') return redirect(r('import_studies', args=(review.author.username, review.name)))
def setUp(self): path = settings.PROJECT_DIR.child('reviews').child('conducting').child('tests').child('data').child('science.bib') with open(path) as f: self.bibtex_file = f.readlines() self.new_bibtex_file = fix_bibtex_file(self.bibtex_file)