Skip to content
Snippets Groups Projects
Commit 54224851 authored by tuhe's avatar tuhe
Browse files

updtes

parents 0a9badc2 5f0cf05e
Branches
No related tags found
No related merge requests found
...@@ -92,6 +92,7 @@ def build_sphinx_documentation(cut_files=False, open_browser=True, build_and_cop ...@@ -92,6 +92,7 @@ def build_sphinx_documentation(cut_files=False, open_browser=True, build_and_cop
x[k]['files'] = files x[k]['files'] = files
# print(">>> k class is: ") # print(">>> k class is: ")
# print(info_paths.core_conf['projects_all'][k]) # print(info_paths.core_conf['projects_all'][k])
f = info_paths.core_conf['projects_all'][k]['class'].mfile() f = info_paths.core_conf['projects_all'][k]['class'].mfile()
with open(f.split("_grade.py")[0], 'r') as ff: with open(f.split("_grade.py")[0], 'r') as ff:
l = [l for l in ff.read().splitlines() if "(Report)" in l].pop().split("(")[0].split(" ")[-1] l = [l for l in ff.read().splitlines() if "(Report)" in l].pop().split("(")[0].split(" ")[-1]
......
...@@ -83,7 +83,7 @@ def get_feedback_groups(): # This is really getting deprecated... ...@@ -83,7 +83,7 @@ def get_feedback_groups(): # This is really getting deprecated...
PRESENTATION = 0 PRESENTATION = 0
NOTES = 1 NOTES = 1
HANDOUT = 2 HANDOUT = 2
def make_lectures(week=None, mode=0, gather_pdf_out=True, gather_sixup=True, make_quizzes=True, dosvg=False, async_pool=-1): def make_lectures(week=None, mode=0, gather_pdf_out=True, gather_sixup=True, make_quizzes=True, dosvg=False, async_pool=-1, compress_pdf=False):
""" """
Mode determines what is compiled into the pdfs. It can be: Mode determines what is compiled into the pdfs. It can be:
...@@ -115,7 +115,7 @@ def make_lectures(week=None, mode=0, gather_pdf_out=True, gather_sixup=True, mak ...@@ -115,7 +115,7 @@ def make_lectures(week=None, mode=0, gather_pdf_out=True, gather_sixup=True, mak
if async_pool <= 1: if async_pool <= 1:
all_pdfs = [] all_pdfs = []
for lecture in lectures_to_compile: #info['lectures']: for lecture in lectures_to_compile: #info['lectures']:
pdf_out = _compile_single_lecture(dosvg=dosvg, lecture=lecture, make_quizzes=make_quizzes, mode=mode) pdf_out = _compile_single_lecture(dosvg=dosvg, lecture=lecture, make_quizzes=make_quizzes, mode=mode, compress_pdf=compress_pdf)
all_pdfs.append( (lecture['number'], pdf_out)) all_pdfs.append( (lecture['number'], pdf_out))
else: else:
# Do the async here. # Do the async here.
...@@ -205,11 +205,11 @@ def _setup_lecture_info(lecture, mode, dosvg, make_quizzes): ...@@ -205,11 +205,11 @@ def _setup_lecture_info(lecture, mode, dosvg, make_quizzes):
return lecture_texfile return lecture_texfile
pass pass
def _compile_single_lecture(dosvg, lecture, make_quizzes, mode): def _compile_single_lecture(dosvg, lecture, make_quizzes, mode, compress_pdf=False):
lecture_texfile = _setup_lecture_info(lecture, mode, dosvg, make_quizzes) lecture_texfile = _setup_lecture_info(lecture, mode, dosvg, make_quizzes)
# Fix questions for this lecture # Fix questions for this lecture
try: try:
pdf_out = slider.latexmk(lecture_texfile) pdf_out = slider.latexmk(lecture_texfile, compress_pdf=compress_pdf)
except Exception as e: except Exception as e:
log = lecture_texfile[:-4] + ".log" log = lecture_texfile[:-4] + ".log"
print("loading log", log) print("loading log", log)
...@@ -374,7 +374,7 @@ def fix_shared(paths, output_dir, pdf2png=False,dosvg=True,verbose=False, compil ...@@ -374,7 +374,7 @@ def fix_shared(paths, output_dir, pdf2png=False,dosvg=True,verbose=False, compil
''' '''
cache_base = output_dir cache_base = output_dir
from jinjafy.cache import cache_contains_file, cache_update_file from jinjafy.cache import cache_contains_file, cache_update_file
from slider.convert import svg2pdf, pdfcrop from slider.convert import svg2pdf
from slider import convert from slider import convert
# import filecmp # import filecmp
......
...@@ -7,7 +7,8 @@ from slider import latexmk ...@@ -7,7 +7,8 @@ from slider import latexmk
from coursebox.thtools_base import execute_command from coursebox.thtools_base import execute_command
from slider.slide import slide_no_by_text, recursive_tex_apply from slider.slide import slide_no_by_text, recursive_tex_apply
from slider.legacy_importer import slide_to_image from slider.legacy_importer import slide_to_image
from slider.convert import pdfcrop
from slider.convert import pdf2png
def lecture_question_compiler(paths, info, lecture_texfile): def lecture_question_compiler(paths, info, lecture_texfile):
...@@ -40,8 +41,9 @@ def lecture_question_compiler(paths, info, lecture_texfile): ...@@ -40,8 +41,9 @@ def lecture_question_compiler(paths, info, lecture_texfile):
data = {'text': qes} data = {'text': qes}
jinjafy_template(data=data, file_in=lecture_latex_path +"/questions/question_partial.tex", file_out=fout_q) jinjafy_template(data=data, file_in=lecture_latex_path +"/questions/question_partial.tex", file_out=fout_q)
fout_q_pdf = qpath + "/" + latexmk(fout_q, cleanup=True) fout_q_pdf = qpath + "/" + latexmk(fout_q, cleanup=True)
execute_command(["pdfcrop", fout_q_pdf, fout_q_pdf]) # execute_command(["pdfcrop", fout_q_pdf, fout_q_pdf])
pdfcrop(fout_q_pdf, fout_q_pdf)
# get "nice" .png file (or fallback) # get "nice" .png file (or fallback)
tex = recursive_tex_apply(lecture_texfile) tex = recursive_tex_apply(lecture_texfile)
tex = "\n".join([tex[k] for k in tex]) tex = "\n".join([tex[k] for k in tex])
...@@ -69,7 +71,7 @@ def lecture_question_compiler(paths, info, lecture_texfile): ...@@ -69,7 +71,7 @@ def lecture_question_compiler(paths, info, lecture_texfile):
if dex < 0: if dex < 0:
# import subprocess # import subprocess
# out = subprocess.run(["pdftocairo", fout_q_pdf, fout_q_pdf[:-4], "-png"], capture_output=True, encoding='utf-8') # out = subprocess.run(["pdftocairo", fout_q_pdf, fout_q_pdf[:-4], "-png"], capture_output=True, encoding='utf-8')
from slider.convert import pdf2png
fout = pdf2png(fout_q_pdf) fout = pdf2png(fout_q_pdf)
# execute_command(["pdftocairo", fout_q_pdf, fout_q_pdf[:-4], "-png"]) # execute_command(["pdftocairo", fout_q_pdf, fout_q_pdf[:-4], "-png"])
...@@ -102,7 +104,9 @@ def lecture_question_compiler(paths, info, lecture_texfile): ...@@ -102,7 +104,9 @@ def lecture_question_compiler(paths, info, lecture_texfile):
data = {'text': sol} data = {'text': sol}
jinjafy_template(data=data, file_in=lecture_latex_path +"/questions/question_partial.tex", file_out=fout_sol) jinjafy_template(data=data, file_in=lecture_latex_path +"/questions/question_partial.tex", file_out=fout_sol)
fout_sol_pdf = qpath + "/" + latexmk(fout_sol) fout_sol_pdf = qpath + "/" + latexmk(fout_sol)
execute_command(["pdfcrop", fout_sol_pdf, fout_sol_pdf]) # execute_command(["pdfcrop", fout_sol_pdf, fout_sol_pdf])
pdfcrop(fout_sol_pdf, fout_sol_pdf)
# Now make the cvx fileÆ # Now make the cvx fileÆ
try: try:
......
...@@ -33,11 +33,21 @@ def setup_student_files(run_files=True, ...@@ -33,11 +33,21 @@ def setup_student_files(run_files=True,
from coursebox.core.info import class_information from coursebox.core.info import class_information
# info = class_information() # info = class_information()
from coursebox.core.info import core_conf from coursebox.core.info import core_conf
<<<<<<< HEAD
# if 'package' not in core_conf: # if 'package' not in core_conf:
if len(core_conf['projects_all']) > 0: if len(core_conf['projects_all']) > 0:
PACKAGE = list(core_conf['projects_all'].values()).pop()['module_public'].split(".")[0] PACKAGE = list(core_conf['projects_all'].values()).pop()['module_public'].split(".")[0]
else: else:
PACKAGE = [w for w in core_conf['weeks_all'].values() if 'module_public' in w][0]['module_public'].split(".")[0] PACKAGE = [w for w in core_conf['weeks_all'].values() if 'module_public' in w][0]['module_public'].split(".")[0]
=======
try:
if len(core_conf['projects_all']) > 0:
PACKAGE = list(core_conf['projects_all'].values()).pop()['module_public'].split(".")[0]
else:
PACKAGE = list(core_conf['weeks_all'].values()).pop()['module_public'].split(".")[0]
except Exception as e:
PACKAGE = core_conf['package']
>>>>>>> 5f0cf05ea2c51749713d10331847fbe062613bab
if censor_files: if censor_files:
assert not run_files, "You cannot run files while you are censoring them -- your scripts will crash. Call with run_files=False." assert not run_files, "You cannot run files while you are censoring them -- your scripts will crash. Call with run_files=False."
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment