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

Project layout updates

parent efb8711a
No related branches found
No related tags found
1 merge request!2Devel
...@@ -13,7 +13,7 @@ with open("README.md", "r", encoding="utf-8") as fh: ...@@ -13,7 +13,7 @@ with open("README.md", "r", encoding="utf-8") as fh:
setuptools.setup( setuptools.setup(
name="coursebox", name="coursebox",
version="0.1.19.7", version="0.1.19.11",
author="Tue Herlau", author="Tue Herlau",
author_email="tuhe@dtu.dk", author_email="tuhe@dtu.dk",
description="A course management system currently used at DTU", description="A course management system currently used at DTU",
......
Metadata-Version: 2.1 Metadata-Version: 2.1
Name: coursebox Name: coursebox
Version: 0.1.19.7 Version: 0.1.19.11
Summary: A course management system currently used at DTU Summary: A course management system currently used at DTU
Home-page: https://lab.compute.dtu.dk/tuhe/coursebox Home-page: https://lab.compute.dtu.dk/tuhe/coursebox
Author: Tue Herlau Author: Tue Herlau
......
...@@ -14,11 +14,15 @@ def get_paths(): ...@@ -14,11 +14,15 @@ def get_paths():
# num = cd[:cd.find("public")] # num = cd[:cd.find("public")]
CDIR = core_conf['working_dir'] CDIR = core_conf['working_dir']
course_number = core_conf['course_number'] course_number = core_conf['course_number']
layout = core_conf.get('directory_layout', {})
if layout is None:
layout = {}
root_02450public = os.path.normpath(CDIR + "/../..") root_02450public = os.path.normpath(CDIR + "/../..")
root_02450private = os.path.normpath(root_02450public + "/../%sprivate"%num) root_02450private = os.path.normpath( layout.get('private', root_02450public + "/../%sprivate"%num ))
root_02450instructors = os.path.normpath(root_02450private + "/../%sinstructors"%num) root_02450instructors = os.path.normpath( layout.get('instructors', root_02450private + "/../%sinstructors"%num))
root_02450students = os.path.normpath(root_02450private + "/../%sstudents" % num) root_02450students = os.path.normpath( layout.get('students', root_02450private + "/../%sstudents" % num) )
root_02450public = root_02450public.replace("\\", "/") root_02450public = root_02450public.replace("\\", "/")
root_02450private = root_02450private.replace("\\", "/") root_02450private = root_02450private.replace("\\", "/")
......
from tinydb import TinyDB, Query from tinydb import TinyDB, Query
import os import os
import zipfile import zipfile
......
...@@ -126,6 +126,7 @@ def build_sphinx_documentation(cut_files=False, open_browser=True, build_and_cop ...@@ -126,6 +126,7 @@ def build_sphinx_documentation(cut_files=False, open_browser=True, build_and_cop
WEEKS = list(core_conf['weeks_all'].keys()) WEEKS = list(core_conf['weeks_all'].keys())
pdfs = [] pdfs = []
for g in glob.glob(paths['pdf_out'] +"/handout/*.pdf"): for g in glob.glob(paths['pdf_out'] +"/handout/*.pdf"):
dst = paths['02450public'] + "/src/docs/assets/"+os.path.basename(g)[:-4] + "-handout.pdf" dst = paths['02450public'] + "/src/docs/assets/"+os.path.basename(g)[:-4] + "-handout.pdf"
...@@ -148,6 +149,16 @@ def build_sphinx_documentation(cut_files=False, open_browser=True, build_and_cop ...@@ -148,6 +149,16 @@ def build_sphinx_documentation(cut_files=False, open_browser=True, build_and_cop
shutil.copy(g, dst) shutil.copy(g, dst)
pdfs.append(dst) pdfs.append(dst)
for g in glob.glob(paths['02450public'] + "/pensum/*.pdf"):
if "02450" in g or "sutton" in g:
continue
dst = paths['02450public'] + "/src/docs/assets/" + os.path.basename(g)
if not os.path.isdir(os.path.dirname(dst)):
os.makedirs(os.path.dirname(dst))
shutil.copy(g, dst)
pdfs.append(dst)
# Copy shared templates. # Copy shared templates.
if not os.path.isdir(paths['02450public'] + "/src/docs/source/templates_generated"): if not os.path.isdir(paths['02450public'] + "/src/docs/source/templates_generated"):
os.mkdir(paths['02450public'] + "/src/docs/source/templates_generated") os.mkdir(paths['02450public'] + "/src/docs/source/templates_generated")
...@@ -218,6 +229,7 @@ def build_sphinx_documentation(cut_files=False, open_browser=True, build_and_cop ...@@ -218,6 +229,7 @@ def build_sphinx_documentation(cut_files=False, open_browser=True, build_and_cop
my_env = os.environ.copy() my_env = os.environ.copy()
my_env['PYTHONPATH'] = (paths['02450students'] + '_complete').replace("\\", "/") my_env['PYTHONPATH'] = (paths['02450students'] + '_complete').replace("\\", "/")
print("Running", cmd)
process = run(cmd, print_output=True, log_output=True, check=False, env=my_env) process = run(cmd, print_output=True, log_output=True, check=False, env=my_env)
"""r """r
......
...@@ -15,6 +15,7 @@ def setup_coursebox(working_dir, course_number="02450", semester='spring', year= ...@@ -15,6 +15,7 @@ def setup_coursebox(working_dir, course_number="02450", semester='spring', year=
continuing_education_month = "March", post_process_info=None, continuing_education_month = "March", post_process_info=None,
setup_student_files=None, setup_student_files=None,
fix_all_shared_files=None, fix_all_shared_files=None,
directory_layout=None, # Base layout of the project directories. Contains keys like public, private, students, etc.
**kwargs): **kwargs):
funcs['setup_student_files'] = setup_student_files funcs['setup_student_files'] = setup_student_files
funcs['fix_all_shared_files'] = fix_all_shared_files funcs['fix_all_shared_files'] = fix_all_shared_files
...@@ -29,6 +30,7 @@ def setup_coursebox(working_dir, course_number="02450", semester='spring', year= ...@@ -29,6 +30,7 @@ def setup_coursebox(working_dir, course_number="02450", semester='spring', year=
info_paths.core_conf['continuing_education_month'] = continuing_education_month info_paths.core_conf['continuing_education_month'] = continuing_education_month
info_paths.core_conf['slides_shownotes'] = slides_shownotes info_paths.core_conf['slides_shownotes'] = slides_shownotes
info_paths.core_conf['post_process_info'] = post_process_info info_paths.core_conf['post_process_info'] = post_process_info
info_paths.core_conf['directory_layout'] = directory_layout
for a, val in kwargs.items(): for a, val in kwargs.items():
info_paths.core_conf[a] = val info_paths.core_conf[a] = val
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment