From 23ac726d3cdc688c69dea7424178a84f7ef8ce03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miko=C5=82aj=20Pich?= Date: Thu, 11 Jan 2018 21:24:03 +0100 Subject: [PATCH] Fix timetable sync (#48) --- .../io/github/wulkanowy/api/timetable/Timetable.java | 11 +++++++++++ .../github/wulkanowy/api/timetable/TimetableTest.java | 1 + .../wulkanowy/api/timetable/PlanLekcji-full.html | 11 ++++++++++- 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/api/src/main/java/io/github/wulkanowy/api/timetable/Timetable.java b/api/src/main/java/io/github/wulkanowy/api/timetable/Timetable.java index cbece431b..2f6370915 100644 --- a/api/src/main/java/io/github/wulkanowy/api/timetable/Timetable.java +++ b/api/src/main/java/io/github/wulkanowy/api/timetable/Timetable.java @@ -88,6 +88,8 @@ public class Timetable { } private void addLessonDetails(Lesson lesson, Elements e) { + moveWarningToLessonNode(e); + switch (e.size()) { case 1: addLessonInfoFromElement(lesson, e.first()); @@ -104,6 +106,15 @@ public class Timetable { } } + private void moveWarningToLessonNode(Elements e) { + Elements warn = e.select(".uwaga-panel"); + + if (!warn.isEmpty()) { + e.select(".x-treelabel-rlz").last().text("(" + warn.text() + ")"); + e.remove(1); + } + } + private void addLessonInfoFromElement(Lesson lesson, Element e) { Elements spans = e.select("span"); diff --git a/api/src/test/java/io/github/wulkanowy/api/timetable/TimetableTest.java b/api/src/test/java/io/github/wulkanowy/api/timetable/TimetableTest.java index ad7411e3b..25b0362c6 100644 --- a/api/src/test/java/io/github/wulkanowy/api/timetable/TimetableTest.java +++ b/api/src/test/java/io/github/wulkanowy/api/timetable/TimetableTest.java @@ -148,6 +148,7 @@ public class TimetableTest extends StudentAndParentTestCase { Assert.assertEquals("zastępstwo (poprzednio: Religia)", full.getWeekTable().getDay(2).getLesson(0).getDescription()); Assert.assertEquals("zastępstwo (poprzednio: Wychowanie fizyczne)", full.getWeekTable().getDay(3).getLesson(1).getDescription()); Assert.assertEquals("", full.getWeekTable().getDay(4).getLesson(0).getDescription()); + Assert.assertEquals("egzamin", full.getWeekTable().getDay(3).getLesson(0).getDescription()); Assert.assertEquals("", holidays.getWeekTable().getDay(3).getLesson(3).getDescription()); } diff --git a/api/src/test/resources/io/github/wulkanowy/api/timetable/PlanLekcji-full.html b/api/src/test/resources/io/github/wulkanowy/api/timetable/PlanLekcji-full.html index f265067d1..53eb04857 100644 --- a/api/src/test/resources/io/github/wulkanowy/api/timetable/PlanLekcji-full.html +++ b/api/src/test/resources/io/github/wulkanowy/api/timetable/PlanLekcji-full.html @@ -52,7 +52,16 @@ (zastępstwo) - + +
+ Język polski + + 16 + (oddział nieobecny) +
+ +
egzamin
+
Uroczyste zakończenie roku szkolnego