def test_file_as_object(tmpdir): test_file = tmpdir.join('test.bib') test_file.write(''' @article { name, author = {Max Mustermann}, year = {2009}, journal = {Life Journale}, title = {la%la} } ''') with io.open(str(test_file), encoding='utf-8') as fp: parser.parse_file(fp) with io.open(str(test_file), encoding='utf-8') as fp: parser.parse_file(fp, validate=True) # Invalid structure test_file.write(''' @article { name, author = {Max Mustermann}, title = {la%la} } ''') with io.open(str(test_file), encoding='utf-8') as fp: parser.parse_file(fp) with io.open(str(test_file), encoding='utf-8') as fp: with pytest.raises(exceptions.InvalidStructure): parser.parse_file(fp, validate=True)
def start_parsing(): # remove all old publication files for root, dirs, files in os.walk("../" + PUBLICATION_MARKDOWN_FOLDER): for one_file in files: os.unlink(root + "/" + one_file) arr_bib_types = get_bib_types() for bib_type in arr_bib_types: bib_url = BIBTEX_FOLDER + "/" + bib_type + ".bib" tmp_url = TEMP_FILE_FOLDER + "/" + bib_type + ".txt" # create formatted reference text process = subprocess.Popen('pybtex-format ' + bib_url + ' ' + tmp_url, shell=True, stdout=subprocess.PIPE) process.wait() array_text = [] with open(tmp_url) as f: array_text = f.readlines() bibliography = parse_file(bib_url) for key, article in bibliography.iteritems(): article["pub_type"] = bib_type article["title"] = article["title"].strip("{").strip("}") write_to_markdown_file( key, article, find_text_in_array(array_text, article['title']))
def test_file_as_path(tmpdir): test_file = tmpdir.join('test.bib') test_file.write(''' @article { name, author = {Max Mustermann}, year = {2009}, journal = {Life Journale}, title = {la%la} } ''') parser.parse_file(str(test_file)) parser.parse_file(str(test_file), validate=True) # Invalid structure test_file.write(''' @article { name, author = {Max Mustermann}, title = {la%la} } ''') parser.parse_file(str(test_file)) with pytest.raises(exceptions.InvalidStructure): parser.parse_file(str(test_file), validate=True)