From 5710de2cfa18c07650be03511ccebe1588edeb1e Mon Sep 17 00:00:00 2001 From: Tue Herlau <tuhe@dtu.dk> Date: Mon, 6 Sep 2021 18:35:01 +0200 Subject: [PATCH] Reference update --- README.md | 32 ++++- dist/coursebox-0.1.1-py3-none-any.whl | Bin 0 -> 38520 bytes dist/coursebox-0.1.1.tar.gz | Bin 0 -> 34530 bytes docs/README.jinja.md | 23 ++++ docs/build_docs.py | 13 ++ docs/coursebox.bib | 9 ++ index.tex | 22 +++ requirements.txt | 2 +- setup.py | 4 +- src/coursebox.egg-info/PKG-INFO | 6 +- src/coursebox.egg-info/SOURCES.txt | 1 - src/coursebox.egg-info/requires.txt | 14 +- .../core/__pycache__/citations.cpython-38.pyc | Bin 3021 -> 0 bytes .../core/__pycache__/info.cpython-38.pyc | Bin 9349 -> 9310 bytes src/coursebox/core/citations.py | 127 ------------------ src/coursebox/core/info.py | 18 +-- src/coursebox/core/projects.py | 2 - .../material/homepage_lectures_exercises.py | 2 +- src/coursebox/material/lecture_questions.py | 2 +- src/coursebox/material/snipper.py | 2 +- 20 files changed, 120 insertions(+), 159 deletions(-) create mode 100644 dist/coursebox-0.1.1-py3-none-any.whl create mode 100644 dist/coursebox-0.1.1.tar.gz create mode 100644 docs/README.jinja.md create mode 100644 docs/build_docs.py create mode 100644 docs/coursebox.bib create mode 100644 index.tex delete mode 100644 src/coursebox/core/__pycache__/citations.cpython-38.pyc delete mode 100644 src/coursebox/core/citations.py diff --git a/README.md b/README.md index 598fbf3..f7c9760 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,31 @@ -# coursebox +# Coursebox DTU +DTU course management software. -DTU course management \ No newline at end of file +## Installation +```terminal +pip install coursebox +``` +## What it can do + - Single semester-dependent configuration file + - Integrates with DTU Inside/DTU Learn + - Distribution/evalauation of project reports in Learn-compatible format + - Quiz-generation in DTU Learn/Beamer friendly format + - Automatic website/syllabus generation + - Automatic generation of lectures handouts/exercises (you don't have to track dynamic content like dates/lecture titles; it is all in the configuration) + - Easy compilation to 2/5 day formats (Continuous education) + +## Usage +Coursebox requires a specific directory structure. It is easier to start with an existing course and adapt to your needs. Please contact me at tuhe@dtu.dk for more information. + +## Citing +```bibtex +@online{coursebox, + title={Coursebox (0.1.1): \texttt{pip install coursebox}}, + url={https://lab.compute.dtu.dk/tuhe/coursebox}, + urldate = {2021-09-06}, + publisher={Tue Herlau}, + author={Tue Herlau}, + comments={See url{asdfsdaf} for examples}, + year={2021}, +} +``` \ No newline at end of file diff --git a/dist/coursebox-0.1.1-py3-none-any.whl b/dist/coursebox-0.1.1-py3-none-any.whl new file mode 100644 index 0000000000000000000000000000000000000000..c1c51a932f4e6547b3bd219ac400208debf80fb3 GIT binary patch literal 38520 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 literal 0 HcmV?d00001 diff --git a/dist/coursebox-0.1.1.tar.gz b/dist/coursebox-0.1.1.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..a2a4823916f9326ba40da26002f67b9cdee37df0 GIT binary patch literal 34530 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 WPxVw!^;FM4?DPM)$#aMR&;kH%)cpAX literal 0 HcmV?d00001 diff --git a/docs/README.jinja.md b/docs/README.jinja.md new file mode 100644 index 0000000..dc1a0d7 --- /dev/null +++ b/docs/README.jinja.md @@ -0,0 +1,23 @@ +# Coursebox DTU +DTU course management software. + +## Installation +```terminal +pip install coursebox +``` +## What it can do + - Single semester-dependent configuration file + - Integrates with DTU Inside/DTU Learn + - Distribution/evalauation of project reports in Learn-compatible format + - Quiz-generation in DTU Learn/Beamer friendly format + - Automatic website/syllabus generation + - Automatic generation of lectures handouts/exercises (you don't have to track dynamic content like dates/lecture titles; it is all in the configuration) + - Easy compilation to 2/5 day formats (Continuous education) + +## Usage +Coursebox requires a specific directory structure. It is easier to start with an existing course and adapt to your needs. Please contact me at tuhe@dtu.dk for more information. + +## Citing +```bibtex +{{bibtex}} +``` \ No newline at end of file diff --git a/docs/build_docs.py b/docs/build_docs.py new file mode 100644 index 0000000..0f674b2 --- /dev/null +++ b/docs/build_docs.py @@ -0,0 +1,13 @@ + +import jinja2 +if __name__ == "__main__": + from jinjafy.bibliography_maker import make_bibliography + bib = make_bibliography("../setup.py", "./") + # bib = '' + data = {'bibtex': bib} + + with open("README.jinja.md", 'r') as f: + s = jinja2.Environment().from_string(f.read()).render(data) + with open("../README.md", 'w') as f: + f.write(s) + diff --git a/docs/coursebox.bib b/docs/coursebox.bib new file mode 100644 index 0000000..c805b79 --- /dev/null +++ b/docs/coursebox.bib @@ -0,0 +1,9 @@ +@online{coursebox, + title={Coursebox (0.1.1): \texttt{pip install coursebox}}, + url={https://lab.compute.dtu.dk/tuhe/coursebox}, + urldate = {2021-09-06}, + publisher={Tue Herlau}, + author={Tue Herlau}, + comments={See url{asdfsdaf} for examples}, + year={2021}, +} \ No newline at end of file diff --git a/index.tex b/index.tex new file mode 100644 index 0000000..3718443 --- /dev/null +++ b/index.tex @@ -0,0 +1,22 @@ + +\documentclass[aspectratio=43]{beamer} +\usepackage{etoolbox} +\newtoggle{overlabel_includesvgs} +\newtoggle{overlabel_includelabels} + +\toggletrue{overlabel_includesvgs} +\toggletrue{overlabel_includelabels} + +\input{beamer_slider_preamble.tex} + +\begin{document} +\begin{frame} +\maketitle +\end{frame} + +\begin{frame}\osvg{myoverlay} +\title{Slide with overlay} +This is some example text! +\end{frame} + +\end{document} diff --git a/requirements.txt b/requirements.txt index 74ad859..6391557 100644 --- a/requirements.txt +++ b/requirements.txt @@ -9,5 +9,5 @@ matplotlib numpy pycode_similar jinjafy -slider +beamer-slider tinydb diff --git a/setup.py b/setup.py index 6395f79..9e5ae5f 100644 --- a/setup.py +++ b/setup.py @@ -11,7 +11,7 @@ with open("README.md", "r", encoding="utf-8") as fh: # beamer-slider setuptools.setup( name="coursebox", - version="0.1.0", + version="0.1.1", author="Tue Herlau", author_email="tuhe@dtu.dk", description="A course management system currently used at DTU", @@ -30,5 +30,5 @@ setuptools.setup( package_dir={"": "src"}, packages=setuptools.find_packages(where="src"), python_requires=">=3.8", - install_requires=[str(r) for r in pkg_resources.parse_requirements('requirements.txt')], + install_requires=['openpyxl', 'tika','xlwings','pybtex','langdetect','wexpect','pexpect','matplotlib','numpy','pycode_similar','jinjafy','beamer-slider','tinydb'], ) diff --git a/src/coursebox.egg-info/PKG-INFO b/src/coursebox.egg-info/PKG-INFO index e3cfb0f..f983e78 100644 --- a/src/coursebox.egg-info/PKG-INFO +++ b/src/coursebox.egg-info/PKG-INFO @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: coursebox -Version: 0.1.0 +Version: 0.1.1 Summary: A course management system currently used at DTU Home-page: https://lab.compute.dtu.dk/tuhe/coursebox Author: Tue Herlau @@ -15,7 +15,7 @@ Requires-Python: >=3.8 Description-Content-Type: text/markdown License-File: LICENSE -# coursebox +# Coursebox DTU -DTU course management +DTU course management software. diff --git a/src/coursebox.egg-info/SOURCES.txt b/src/coursebox.egg-info/SOURCES.txt index a3fc7c7..a52feee 100644 --- a/src/coursebox.egg-info/SOURCES.txt +++ b/src/coursebox.egg-info/SOURCES.txt @@ -13,7 +13,6 @@ src/coursebox.egg-info/top_level.txt src/coursebox/book/__init__.py src/coursebox/book/exam_includer.py src/coursebox/core/__init__.py -src/coursebox/core/citations.py src/coursebox/core/info.py src/coursebox/core/info_paths.py src/coursebox/core/projects.py diff --git a/src/coursebox.egg-info/requires.txt b/src/coursebox.egg-info/requires.txt index 4414fc1..6391557 100644 --- a/src/coursebox.egg-info/requires.txt +++ b/src/coursebox.egg-info/requires.txt @@ -1 +1,13 @@ -requirements.txt +openpyxl +tika +xlwings +pybtex +langdetect +wexpect +pexpect +matplotlib +numpy +pycode_similar +jinjafy +beamer-slider +tinydb diff --git a/src/coursebox/core/__pycache__/citations.cpython-38.pyc b/src/coursebox/core/__pycache__/citations.cpython-38.pyc deleted file mode 100644 index 8956e2985ebe5bced649649c27a3d2352d355dc6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3021 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 diff --git a/src/coursebox/core/__pycache__/info.cpython-38.pyc b/src/coursebox/core/__pycache__/info.cpython-38.pyc index 3f839d495d781a86b5672f0951019147942b043c..7776621fd24f89ac5361a6babd38177221f59a1d 100644 GIT binary patch delta 407 zcmW-dy-Px26vpql-s{Kx@bmhWnxaudn-P6Li!HVWMZ7@}od&@xa@|TuNTVr`7y2iJ zC|-o1DTx*vf@o<F92%NyjOgeYp5McH4rh2eTcfhMW15;oGmIAxJ6$sagYM$|nNoGx z3R6Hr30+l{sYJEvwmr-<-MOn?+sAyi#xz@Jx@|DSHkmoiJe2vFpZqNPP-_DVppHgc zVnH;~PYhuIgTyd~FiebK7A=g@rG+_+VLVMXiU~|o7{eJ%5#yM~3^8%{tGgh^y~+U6 ze5f=b%ggF16vdO81PF<d`$&dWUh+M{E?2Z3?2B9N6W~Bx8`}Vm_%ioY=!sHf6X01~ zSPK9xaTB#<{gsONp0sh2;;n?m$MGu|@p|F~hGHYxSL8oQ{ABLI8*0=l_4={HAF}T- z7TsJEV1@hh-1?9kHOHVAPIw{_l6BtCpTja=D=Y<*j%%`(CsHQimxVViPsRWPyfUxM GrT+mNcxXug delta 470 zcmW-dJ7^S96o%)Y*WQ`Av%A@y-JQ)o@`41^2u8sNb~X_^Q3w}==$-|I8CPZ#kr)VQ zv=qYagN4|Lg<J)}N-K**Fk)c}5!6nwP|z}W_7>lF`2Wi(&ez2U=flfk=o|X|`F-r_ z)2*<By{*Hu8&+Zoiwv?7TiDum;-s!{VT`hZC}=wgOFiL@GB@$lKm;ilJPk#d7DX{F ziPESm=&mfvdhU`({wBm21;jTEQK68E+Epr1Sv#UJs%Y1a&;&(P(_iZ}Np))IsX;L{ zbs5t*wX~bmrjGXbi(i3-SpK)(p)23m>zI<KoVz%oUOG*nsy?_q6KCXt_ZCa?ulEdB z)MNiAu&f^Pi@=Kd5-vG-t`@52fcNTlGzZ*M+qK9H_VUBz*I8@HTX7^mHXh-dT#k3J ztLB@pY}0`H(Rqzh+#9TB!~V6wouj=$)|XEvKI6Mun_LG@%YRcc66Ww`#`UJGlB23| zR&Gz<$4NOobG+TktUNYzENbkVgW<kAyuP|}Ba!`?Plsl8$icx(1_rLl(FQO0bF9l8 OX0gaG`WIN8T{-~mQgxmH diff --git a/src/coursebox/core/citations.py b/src/coursebox/core/citations.py deleted file mode 100644 index 7a39334..0000000 --- a/src/coursebox/core/citations.py +++ /dev/null @@ -1,127 +0,0 @@ -import os -import pybtex -import io -# import six -from coursebox.core.info_paths import get_paths -from pybtex import plugin -from pybtex.database.input import bibtex - -def get_references(bibfile, gi): - - """ - Import and convert slides dynamically. - """ - # base_dir = paths['02450public'] + "/Notes/Latex" - bibf = bibfile #base_dir + "/library.bib" - if not os.path.exists(bibf): - return None - - # pybtex.plugin - - - pybtex_style = plugin.find_plugin('pybtex.style.formatting', 'alpha')() - pybtex_html_backend = plugin.find_plugin('pybtex.backends', 'html')() - pybtex_plain_backend = plugin.find_plugin('pybtex.backends', 'plaintext')() - - pybtex_parser = bibtex.Parser() - - with open(bibf, 'r', encoding='utf8') as f: - data = pybtex_parser.parse_stream(f) - - # Tue: This used to be: - # import six - # itv = six.itervalues(data.entries) - # itv = iter(data.entries) - data_formatted = pybtex_style.format_entries(data.entries.values()) - refs = {} - - if 'auxfile' in gi: - all_references = parse_aux(gi['auxfile'], bibtex=gi['bibtex']) - else: - all_references = {} - - for entry in data_formatted: - output = io.StringIO() - output_plain = io.StringIO() - pybtex_plain_backend.output = output_plain.write - pybtex_html_backend.output = output.write - pybtex_html_backend.write_entry(entry.key, entry.label, entry.text.render(pybtex_html_backend)) - - pybtex_plain_backend.write_entry(entry.key, entry.label, entry.text.render(pybtex_plain_backend)) - - html = output.getvalue() - plain = output_plain.getvalue() - - entry.text.parts[-2].__str__() - url = "" - for i,p in enumerate(entry.text.parts): - if "\\url" in p.__str__(): - url = entry.text.parts[i+1] - break - url = url.__str__() - i1 = html.find("\\textbf") - i2 = html.find("</span>", i1) - dht = html[i1:i2] - dht = dht[dht.find(">")+1:] - html = html[:i1] + " <b>"+dht+"</b> " + html[i2+7:] - - plain = plain.replace("\\textbf ", "") - iu = plain.find("URL") - if iu > 0: - plain = plain[:iu] - - refs[entry.key] = {'html': html, - 'plain': plain, - 'label': entry.label, - 'filename': url, - 'references': all_references} - - newref = {} - ls = lambda x: x if isinstance(x, list) else [x] - if 'tex_command' in gi: - for cmd, aux, display in zip( ls(gi['tex_command']), ls(gi['tex_aux'] ), ls( gi['tex_display'] ) ): - ax = parse_aux(aux, bibtex=gi['bibtex']) - for k in ax: - ax[k]['pyref'] = display%(ax[k]['nicelabel'],) - newref[cmd] = ax - - return refs, newref - - -def parse_aux(auxfile, bibtex): - paths = get_paths() - auxfile = os.path.join(paths['02450public'], auxfile) - if not os.path.exists(auxfile): - print(auxfile) - from warnings import warn - warn("Could not find file") - return {} - - with open(auxfile, 'r') as f: - items = f.readlines() - entries = {} - for e in items: - e = e.strip() - if e.startswith("\\newlabel") and "@cref" in e: - # print(e) - i0 = e.find("{") - i1 = e.find("@cref}") - key = e[i0+1:i1] - - j0 = e.find("{{[", i0)+3 - j1 = e.find("}", j0) - - val = e[j0:j1] - - label = val[:val.find("]")] - number = val[val.rfind("]")+1:] - - if label == "equation": - nlabel = f"eq. ({number})" - else: - nlabel = label.capitalize() + " " + number - - coderef = "\\cite[%s]{%s}"%(nlabel, bibtex) if bibtex is not None else None - entries[key] = {'pyref': coderef, 'nicelabel': nlabel, 'rawlabel': label, 'number': number} - - return entries diff --git a/src/coursebox/core/info.py b/src/coursebox/core/info.py index 31693ee..773f4c0 100644 --- a/src/coursebox/core/info.py +++ b/src/coursebox/core/info.py @@ -2,8 +2,6 @@ from datetime import timedelta from datetime import datetime import coursebox # import thtools -import os -import shutil from coursebox.thtools_base import list_dict2dict_list # import jinjafy import openpyxl @@ -113,20 +111,6 @@ def first_day_of_class(info): return first_day_of_class -def find_tex_cite(s, start=0, key="\\cite"): - txt = None - i = s.find(key, start) - if i < 0: - return (i,None), None, None - j = s.find("}", i) - cite = s[i:j + 1] - - if cite.find("[") > 0: - txt = cite[cite.find("[") + 1:cite.find("]")] - - reference = cite[cite.find("{") + 1:cite.find("}")] - return (i, j), reference, txt - def lectures(info, pensum=None): ow = timedelta(days=7) d = first_day_of_class(info) @@ -267,7 +251,7 @@ def class_information(): del gi['key'] del gi['value'] - from coursebox.core.citations import get_references + from snipper.load_citations import get_references if "pensum_bib" in gi: refs, nrefs = get_references(paths['02450public'] + "/" + gi['pensum_bib'], gi) d['references'], d['new_references'] = refs, nrefs diff --git a/src/coursebox/core/projects.py b/src/coursebox/core/projects.py index f8a37d0..3c017f2 100644 --- a/src/coursebox/core/projects.py +++ b/src/coursebox/core/projects.py @@ -12,13 +12,11 @@ from openpyxl.utils import get_column_letter import matplotlib.pyplot as plt import langdetect import xlwings as xw - from coursebox.core.projects_info import get_output_file, INSTRUCTOR_ROW, STUDENT_ID_ROW, parse_column from coursebox.core.projects_info import EVALUATION_ROW_END, EVALUATION_ROW_START, WEIGHT_ROW_START, RANGE_MIN_COL, DELTA_ALLOWED_ROW from coursebox.core.info import get_paths, class_information, semester_id from coursebox.core import projects_info from coursebox.core.projects_plagiarism import plagiarism_checker - from jinjafy.cache import cache_contains_dir, cache_update_dir from jinjafy.plot.plot_helpers import get_colors import time diff --git a/src/coursebox/material/homepage_lectures_exercises.py b/src/coursebox/material/homepage_lectures_exercises.py index b225ab8..f3f71f2 100644 --- a/src/coursebox/material/homepage_lectures_exercises.py +++ b/src/coursebox/material/homepage_lectures_exercises.py @@ -10,7 +10,7 @@ from jinjafy import jinjafy_template from coursebox.core.info_paths import get_paths from slider.legacy_importer import slide_to_image from slider.legacy_importer import li_import -from slider.slider import set_svg_background_images +from slider.slide import set_svg_background_images from coursebox.book.exam_includer import HOMEWORK_PROBLEMS from coursebox.core.info import class_information from coursebox.material.lecture_questions import lecture_question_compiler diff --git a/src/coursebox/material/lecture_questions.py b/src/coursebox/material/lecture_questions.py index 5991e4f..1e35f27 100644 --- a/src/coursebox/material/lecture_questions.py +++ b/src/coursebox/material/lecture_questions.py @@ -5,7 +5,7 @@ import glob from jinjafy import jinjafy_template from slider import latexmk from coursebox.thtools_base import execute_command -from slider.slider 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 diff --git a/src/coursebox/material/snipper.py b/src/coursebox/material/snipper.py index b0bee23..05fd862 100644 --- a/src/coursebox/material/snipper.py +++ b/src/coursebox/material/snipper.py @@ -1,4 +1,4 @@ -from coursebox.core.info import find_tex_cite +from snipper.load_citations import find_tex_cite import os import functools from jinjafy import execute_command -- GitLab