From 4eb97ecbd5bd36d70d64d74661c3e77b298f3fe2 Mon Sep 17 00:00:00 2001
From: Tue Herlau <tuhe@dtu.dk>
Date: Tue, 4 Feb 2025 13:12:16 +0100
Subject: [PATCH] fixed last_held_lecture

---
 .gitignore                                    |   0
 LICENSE                                       |   0
 README.md                                     |   0
 docs/README.jinja.md                          |   0
 docs/build_docs.py                            |   0
 docs/coursebox.bib                            |   0
 index.tex                                     |   0
 pyproject.toml                                |   0
 requirements.txt                              |   0
 setup.py                                      |   0
 src/coursebox.egg-info/SOURCES.txt            |   0
 src/coursebox.egg-info/dependency_links.txt   |   0
 src/coursebox.egg-info/requires.txt           |   0
 src/coursebox.egg-info/top_level.txt          |   0
 src/coursebox/__init__.py                     |   0
 .../__pycache__/__init__.cpython-38.pyc       | Bin
 .../setup_coursebox.cpython-38.pyc            | Bin
 .../__pycache__/thtools_base.cpython-38.pyc   | Bin
 src/coursebox/admin/__init__.py               |   0
 src/coursebox/admin/gitlab.py                 |   0
 src/coursebox/book/__init__.py                |   0
 .../book/__pycache__/__init__.cpython-38.pyc  | Bin
 .../__pycache__/exam_includer.cpython-38.pyc  | Bin
 src/coursebox/book/exam_includer.py           |   0
 src/coursebox/book/irlc_main.py.pclprof       |   0
 src/coursebox/core/__init__.py                |   0
 .../core/__pycache__/__init__.cpython-38.pyc  | Bin
 .../core/__pycache__/info.cpython-38.pyc      | Bin
 .../__pycache__/info_paths.cpython-38.pyc     | Bin
 .../__pycache__/projects_info.cpython-38.pyc  | Bin
 src/coursebox/core/course.py                  |   0
 src/coursebox/core/info.py                    |  19 +++++++++++++++---
 src/coursebox/core/info_paths.py              |   0
 src/coursebox/core/projects.py                |   0
 src/coursebox/core/projects_info.py           |   0
 src/coursebox/core/projects_plagiarism.py     |   0
 src/coursebox/material/__init__.py            |   0
 .../__pycache__/__init__.cpython-38.pyc       | Bin
 ...homepage_lectures_exercises.cpython-38.pyc | Bin
 .../lecture_questions.cpython-38.pyc          | Bin
 .../__pycache__/snipper.cpython-38.pyc        | Bin
 src/coursebox/material/_extra_info.pkl        |   0
 src/coursebox/material/documentation.py       |   0
 .../material/homepage_lectures_exercises.py   |   0
 src/coursebox/material/lecture_questions.py   |   0
 src/coursebox/material/snipper.py             |   0
 src/coursebox/setup_coursebox.py              |   0
 src/coursebox/student_files/__init__.py       |   0
 src/coursebox/student_files/student_files.py  |   0
 src/coursebox/testing/__init__.py             |   0
 src/coursebox/testing/testing.py              |   0
 src/coursebox/thtools_base.py                 |   0
 sym                                           |   0
 ym                                            |   0
 54 files changed, 16 insertions(+), 3 deletions(-)
 mode change 100644 => 100755 .gitignore
 mode change 100644 => 100755 LICENSE
 mode change 100644 => 100755 README.md
 mode change 100644 => 100755 docs/README.jinja.md
 mode change 100644 => 100755 docs/build_docs.py
 mode change 100644 => 100755 docs/coursebox.bib
 mode change 100644 => 100755 index.tex
 mode change 100644 => 100755 pyproject.toml
 mode change 100644 => 100755 requirements.txt
 mode change 100644 => 100755 setup.py
 mode change 100644 => 100755 src/coursebox.egg-info/SOURCES.txt
 mode change 100644 => 100755 src/coursebox.egg-info/dependency_links.txt
 mode change 100644 => 100755 src/coursebox.egg-info/requires.txt
 mode change 100644 => 100755 src/coursebox.egg-info/top_level.txt
 mode change 100644 => 100755 src/coursebox/__init__.py
 mode change 100644 => 100755 src/coursebox/__pycache__/__init__.cpython-38.pyc
 mode change 100644 => 100755 src/coursebox/__pycache__/setup_coursebox.cpython-38.pyc
 mode change 100644 => 100755 src/coursebox/__pycache__/thtools_base.cpython-38.pyc
 mode change 100644 => 100755 src/coursebox/admin/__init__.py
 mode change 100644 => 100755 src/coursebox/admin/gitlab.py
 mode change 100644 => 100755 src/coursebox/book/__init__.py
 mode change 100644 => 100755 src/coursebox/book/__pycache__/__init__.cpython-38.pyc
 mode change 100644 => 100755 src/coursebox/book/__pycache__/exam_includer.cpython-38.pyc
 mode change 100644 => 100755 src/coursebox/book/exam_includer.py
 mode change 100644 => 100755 src/coursebox/book/irlc_main.py.pclprof
 mode change 100644 => 100755 src/coursebox/core/__init__.py
 mode change 100644 => 100755 src/coursebox/core/__pycache__/__init__.cpython-38.pyc
 mode change 100644 => 100755 src/coursebox/core/__pycache__/info.cpython-38.pyc
 mode change 100644 => 100755 src/coursebox/core/__pycache__/info_paths.cpython-38.pyc
 mode change 100644 => 100755 src/coursebox/core/__pycache__/projects_info.cpython-38.pyc
 mode change 100644 => 100755 src/coursebox/core/course.py
 mode change 100644 => 100755 src/coursebox/core/info.py
 mode change 100644 => 100755 src/coursebox/core/info_paths.py
 mode change 100644 => 100755 src/coursebox/core/projects.py
 mode change 100644 => 100755 src/coursebox/core/projects_info.py
 mode change 100644 => 100755 src/coursebox/core/projects_plagiarism.py
 mode change 100644 => 100755 src/coursebox/material/__init__.py
 mode change 100644 => 100755 src/coursebox/material/__pycache__/__init__.cpython-38.pyc
 mode change 100644 => 100755 src/coursebox/material/__pycache__/homepage_lectures_exercises.cpython-38.pyc
 mode change 100644 => 100755 src/coursebox/material/__pycache__/lecture_questions.cpython-38.pyc
 mode change 100644 => 100755 src/coursebox/material/__pycache__/snipper.cpython-38.pyc
 mode change 100644 => 100755 src/coursebox/material/_extra_info.pkl
 mode change 100644 => 100755 src/coursebox/material/documentation.py
 mode change 100644 => 100755 src/coursebox/material/homepage_lectures_exercises.py
 mode change 100644 => 100755 src/coursebox/material/lecture_questions.py
 mode change 100644 => 100755 src/coursebox/material/snipper.py
 mode change 100644 => 100755 src/coursebox/setup_coursebox.py
 mode change 100644 => 100755 src/coursebox/student_files/__init__.py
 mode change 100644 => 100755 src/coursebox/student_files/student_files.py
 mode change 100644 => 100755 src/coursebox/testing/__init__.py
 mode change 100644 => 100755 src/coursebox/testing/testing.py
 mode change 100644 => 100755 src/coursebox/thtools_base.py
 mode change 100644 => 100755 sym
 mode change 100644 => 100755 ym

diff --git a/.gitignore b/.gitignore
old mode 100644
new mode 100755
diff --git a/LICENSE b/LICENSE
old mode 100644
new mode 100755
diff --git a/README.md b/README.md
old mode 100644
new mode 100755
diff --git a/docs/README.jinja.md b/docs/README.jinja.md
old mode 100644
new mode 100755
diff --git a/docs/build_docs.py b/docs/build_docs.py
old mode 100644
new mode 100755
diff --git a/docs/coursebox.bib b/docs/coursebox.bib
old mode 100644
new mode 100755
diff --git a/index.tex b/index.tex
old mode 100644
new mode 100755
diff --git a/pyproject.toml b/pyproject.toml
old mode 100644
new mode 100755
diff --git a/requirements.txt b/requirements.txt
old mode 100644
new mode 100755
diff --git a/setup.py b/setup.py
old mode 100644
new mode 100755
diff --git a/src/coursebox.egg-info/SOURCES.txt b/src/coursebox.egg-info/SOURCES.txt
old mode 100644
new mode 100755
diff --git a/src/coursebox.egg-info/dependency_links.txt b/src/coursebox.egg-info/dependency_links.txt
old mode 100644
new mode 100755
diff --git a/src/coursebox.egg-info/requires.txt b/src/coursebox.egg-info/requires.txt
old mode 100644
new mode 100755
diff --git a/src/coursebox.egg-info/top_level.txt b/src/coursebox.egg-info/top_level.txt
old mode 100644
new mode 100755
diff --git a/src/coursebox/__init__.py b/src/coursebox/__init__.py
old mode 100644
new mode 100755
diff --git a/src/coursebox/__pycache__/__init__.cpython-38.pyc b/src/coursebox/__pycache__/__init__.cpython-38.pyc
old mode 100644
new mode 100755
diff --git a/src/coursebox/__pycache__/setup_coursebox.cpython-38.pyc b/src/coursebox/__pycache__/setup_coursebox.cpython-38.pyc
old mode 100644
new mode 100755
diff --git a/src/coursebox/__pycache__/thtools_base.cpython-38.pyc b/src/coursebox/__pycache__/thtools_base.cpython-38.pyc
old mode 100644
new mode 100755
diff --git a/src/coursebox/admin/__init__.py b/src/coursebox/admin/__init__.py
old mode 100644
new mode 100755
diff --git a/src/coursebox/admin/gitlab.py b/src/coursebox/admin/gitlab.py
old mode 100644
new mode 100755
diff --git a/src/coursebox/book/__init__.py b/src/coursebox/book/__init__.py
old mode 100644
new mode 100755
diff --git a/src/coursebox/book/__pycache__/__init__.cpython-38.pyc b/src/coursebox/book/__pycache__/__init__.cpython-38.pyc
old mode 100644
new mode 100755
diff --git a/src/coursebox/book/__pycache__/exam_includer.cpython-38.pyc b/src/coursebox/book/__pycache__/exam_includer.cpython-38.pyc
old mode 100644
new mode 100755
diff --git a/src/coursebox/book/exam_includer.py b/src/coursebox/book/exam_includer.py
old mode 100644
new mode 100755
diff --git a/src/coursebox/book/irlc_main.py.pclprof b/src/coursebox/book/irlc_main.py.pclprof
old mode 100644
new mode 100755
diff --git a/src/coursebox/core/__init__.py b/src/coursebox/core/__init__.py
old mode 100644
new mode 100755
diff --git a/src/coursebox/core/__pycache__/__init__.cpython-38.pyc b/src/coursebox/core/__pycache__/__init__.cpython-38.pyc
old mode 100644
new mode 100755
diff --git a/src/coursebox/core/__pycache__/info.cpython-38.pyc b/src/coursebox/core/__pycache__/info.cpython-38.pyc
old mode 100644
new mode 100755
diff --git a/src/coursebox/core/__pycache__/info_paths.cpython-38.pyc b/src/coursebox/core/__pycache__/info_paths.cpython-38.pyc
old mode 100644
new mode 100755
diff --git a/src/coursebox/core/__pycache__/projects_info.cpython-38.pyc b/src/coursebox/core/__pycache__/projects_info.cpython-38.pyc
old mode 100644
new mode 100755
diff --git a/src/coursebox/core/course.py b/src/coursebox/core/course.py
old mode 100644
new mode 100755
diff --git a/src/coursebox/core/info.py b/src/coursebox/core/info.py
old mode 100644
new mode 100755
index 91618ac..3e351d2
--- a/src/coursebox/core/info.py
+++ b/src/coursebox/core/info.py
@@ -470,14 +470,27 @@ def class_information(verbose=False,
 
     d['sections'] = sections
 
-    current_lecture = -2
+    # current_lecture = -2
+    from datetime import timedelta
+    # l['date'] - datetime.timedelta(days=7)
+
+    # Long before firrst.
+    # if d['lectures'][0]['date'] - timedelta(days=7) < datetime.now():
+    #     current_lecture = -1 # More than a week to semester start.
+    current_lecture = -1
+    if d['lectures'][0]['date'] - timedelta(days=7) < datetime.now():
+        current_lecture = 0 # Less than a week to start.
 
     for k, l in enumerate(d['lectures']):
-        current_lecture = k - 1
-        if l['date'] >= datetime.now():
+        # current_lecture = l['number']
+        if datetime.now() >= l['date']:
+            current_lecture = l['number']
+        else:
             break
 
     d['current_lecture_number'] = current_lecture
+    d['last_held_lecture'] = current_lecture
+
     return d
 
 def _update_with_core_conf(d):
diff --git a/src/coursebox/core/info_paths.py b/src/coursebox/core/info_paths.py
old mode 100644
new mode 100755
diff --git a/src/coursebox/core/projects.py b/src/coursebox/core/projects.py
old mode 100644
new mode 100755
diff --git a/src/coursebox/core/projects_info.py b/src/coursebox/core/projects_info.py
old mode 100644
new mode 100755
diff --git a/src/coursebox/core/projects_plagiarism.py b/src/coursebox/core/projects_plagiarism.py
old mode 100644
new mode 100755
diff --git a/src/coursebox/material/__init__.py b/src/coursebox/material/__init__.py
old mode 100644
new mode 100755
diff --git a/src/coursebox/material/__pycache__/__init__.cpython-38.pyc b/src/coursebox/material/__pycache__/__init__.cpython-38.pyc
old mode 100644
new mode 100755
diff --git a/src/coursebox/material/__pycache__/homepage_lectures_exercises.cpython-38.pyc b/src/coursebox/material/__pycache__/homepage_lectures_exercises.cpython-38.pyc
old mode 100644
new mode 100755
diff --git a/src/coursebox/material/__pycache__/lecture_questions.cpython-38.pyc b/src/coursebox/material/__pycache__/lecture_questions.cpython-38.pyc
old mode 100644
new mode 100755
diff --git a/src/coursebox/material/__pycache__/snipper.cpython-38.pyc b/src/coursebox/material/__pycache__/snipper.cpython-38.pyc
old mode 100644
new mode 100755
diff --git a/src/coursebox/material/_extra_info.pkl b/src/coursebox/material/_extra_info.pkl
old mode 100644
new mode 100755
diff --git a/src/coursebox/material/documentation.py b/src/coursebox/material/documentation.py
old mode 100644
new mode 100755
diff --git a/src/coursebox/material/homepage_lectures_exercises.py b/src/coursebox/material/homepage_lectures_exercises.py
old mode 100644
new mode 100755
diff --git a/src/coursebox/material/lecture_questions.py b/src/coursebox/material/lecture_questions.py
old mode 100644
new mode 100755
diff --git a/src/coursebox/material/snipper.py b/src/coursebox/material/snipper.py
old mode 100644
new mode 100755
diff --git a/src/coursebox/setup_coursebox.py b/src/coursebox/setup_coursebox.py
old mode 100644
new mode 100755
diff --git a/src/coursebox/student_files/__init__.py b/src/coursebox/student_files/__init__.py
old mode 100644
new mode 100755
diff --git a/src/coursebox/student_files/student_files.py b/src/coursebox/student_files/student_files.py
old mode 100644
new mode 100755
diff --git a/src/coursebox/testing/__init__.py b/src/coursebox/testing/__init__.py
old mode 100644
new mode 100755
diff --git a/src/coursebox/testing/testing.py b/src/coursebox/testing/testing.py
old mode 100644
new mode 100755
diff --git a/src/coursebox/thtools_base.py b/src/coursebox/thtools_base.py
old mode 100644
new mode 100755
diff --git a/sym b/sym
old mode 100644
new mode 100755
diff --git a/ym b/ym
old mode 100644
new mode 100755
-- 
GitLab