You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm using text2qti 0.6.0.dev5 which I installed from github. I can create the QTI .zip files from my .md files, but when trying to create .pdf versions of my quizzes, I get the following error
$ text2qti --solutions test.pdf test.md
Traceback (most recent call last):
File "/home/user/.local/lib/python3.7/site-packages/text2qti-0.6.0.dev5-py3.7.egg/text2qti/cmdline.py", line 144, in main
File "/home/user/anaconda3/lib/python3.7/subprocess.py", line 512, in run
output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['pandoc', '-f', 'markdown', '-o', '/tmp/test.pdf']' returned non-zero exit status 43.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/user/.local/bin/text2qti", line 11, in <module>
load_entry_point('text2qti==0.6.0.dev5', 'console_scripts', 'text2qti')()
File "/home/user/.local/lib/python3.7/site-packages/text2qti-0.6.0.dev5-py3.7.egg/text2qti/cmdline.py", line 147, in main
UnboundLocalError: local variable 'proc' referenced before assignment
I get the same behavior if I use the --only-solutions option.
I've looked at the code in text2qti/cmdline.py, but can't see why it's a problem. This seems to be the relevant code
if solutions_path.suffix.lower() == '.pdf':
if not shutil.which('pandoc'):
raise Text2qtiError('Exporting solutions in PDF format requires Pandoc (https://pandoc.org/)')
if not shutil.which('pdflatex'):
raise Text2qtiError('Exporting solutions in PDF format requires LaTeX (https://www.tug.org/texlive/ or https://miktex.org/)')
if platform.system() == 'Windows':
cmd = [shutil.which('pandoc'), '-f', 'markdown', '-o', str(solutions_path)]
else:
cmd = ['pandoc', '-f', 'markdown', '-o', str(solutions_path)]
try:
proc = subprocess.run(
cmd,
input=solutions_text,
capture_output=True,
check=True,
encoding='utf8'
)
except subprocess.CalledProcessError:
raise Text2qtiError(f'Pandoc failed:\n{"-"*78}\n{proc.stderr}\n{"-"*78}')
Here's my test file
% For use with text2qti
Quiz title: Test file
Quiz description: Simple test file for text2qti
% Khan Academy
Title: Key Components of TF Regulation
Points: 8
1. Describe and differentiate between they key components of TF regulation systems: Activators, Repressors, Silencers, and Enhancers.
Be sure to indicate which are made of DNA and which are made of protein.
... TF are made of protein while elements are made of DNA.
Activators are TF that bind enhancer elements to promote the transcription of a gene.
In contrast, repressors are TF that bind to silencer elements which prevent gene transcription.
___
I apologize if this is really a user error, but do appreciate the package. It's very helpful
The text was updated successfully, but these errors were encountered:
There's a bug in the error handling code that is invoked when Pandoc fails. Currently, the error message is using proc.stderr, but there are failure modes where proc never gets defined. I'll have to reorganize this a little.
In terms of why Pandoc is failing, my guess would be that there are missing LaTeX packages. text2qti needs everything that Pandoc usually requires, plus fontawesome. Until the bug is fixed, you might try creating solutions in md format, and then try to convert that to PDF to see if Pandoc will provide additional details.
I'm using text2qti 0.6.0.dev5 which I installed from github. I can create the QTI .zip files from my .md files, but when trying to create .pdf versions of my quizzes, I get the following error
I get the same behavior if I use the
--only-solutions
option.I've looked at the code in text2qti/cmdline.py, but can't see why it's a problem. This seems to be the relevant code
Here's my test file
I apologize if this is really a user error, but do appreciate the package. It's very helpful
The text was updated successfully, but these errors were encountered: