From 39dd29c4e90327974a5ddd70c82000b54657265d Mon Sep 17 00:00:00 2001 From: Michael Gordeev Date: Wed, 17 Feb 2021 18:08:50 +0300 Subject: [PATCH] - Fixed export failing - Remote lessons are now appropriately marked --- GUT.Schedule/GUTSchedule/Parser.cs | 15 ++++++++++++++- .../en-IN/changelogs/android-changelog.txt | 4 +++- .../ru-RU/changelogs/android-changelog.txt | 4 +++- changelogs/github.md | 4 +++- .../windows/en/baseListing/releaseNotes.txt | 4 +++- .../windows/ru/baseListing/releaseNotes.txt | 4 +++- 6 files changed, 29 insertions(+), 6 deletions(-) diff --git a/GUT.Schedule/GUTSchedule/Parser.cs b/GUT.Schedule/GUTSchedule/Parser.cs index c1cde00..3e2badd 100644 --- a/GUT.Schedule/GUTSchedule/Parser.cs +++ b/GUT.Schedule/GUTSchedule/Parser.cs @@ -338,6 +338,12 @@ namespace GUTSchedule ("month", date.Month.ToString()), ("year", date.Year.ToString()), ("type_z", "0")); + request.Headers.UserAgent.Clear(); + request.Headers.UserAgent.Add(new ProductInfoHeaderValue("Mozilla", "5.0")); + request.Headers.UserAgent.Add(new ProductInfoHeaderValue("AppleWebKit", "537.36")); + request.Headers.UserAgent.Add(new ProductInfoHeaderValue("Chrome", "88.0.4324.150")); + request.Headers.UserAgent.Add(new ProductInfoHeaderValue("Safari", "537.36")); + request.Headers.UserAgent.Add(new ProductInfoHeaderValue("Edg", "88.0.705.68")); HttpResponseMessage response = await client.SendAsync(request).ConfigureAwait(false); string responseContent = await response.GetString().ConfigureAwait(false); @@ -367,7 +373,14 @@ namespace GUTSchedule i.QuerySelectorAll("i")[k].NextSibling.NextSibling.NextSibling.TextContent : ""; try { item.Cabinet = i.QuerySelectorAll("small")[k].NextSibling.TextContent.Replace(" ", "").Replace(";Б22", ""); } - catch { item.Cabinet = "СПбГУТ"; } + catch + { + INode cab = i?.QuerySelectorAll("b")[k * 2 + 2].NextSibling?.NextSibling; + if (cab?.NodeType == NodeType.Text) + item.Cabinet = cab.TextContent; + else + item.Cabinet = "СПбГУТ"; + } string rawTime = i.QuerySelectorAll("b")[k * 2 + 2].TextContent; item.StartTime = new DateTime( diff --git a/changelogs/android/en-IN/changelogs/android-changelog.txt b/changelogs/android/en-IN/changelogs/android-changelog.txt index 18c47fd..240468f 100644 --- a/changelogs/android/en-IN/changelogs/android-changelog.txt +++ b/changelogs/android/en-IN/changelogs/android-changelog.txt @@ -1 +1,3 @@ -- Anonymous schedule export is temporarly disabled \ No newline at end of file +- Anonymous schedule export is temporarly disabled +- Fixed export failing +- Remote lessons are now appropriately marked \ No newline at end of file diff --git a/changelogs/android/ru-RU/changelogs/android-changelog.txt b/changelogs/android/ru-RU/changelogs/android-changelog.txt index 6ce5084..79c0f5c 100644 --- a/changelogs/android/ru-RU/changelogs/android-changelog.txt +++ b/changelogs/android/ru-RU/changelogs/android-changelog.txt @@ -1 +1,3 @@ -- Анонимный экспорт расписания временно отключен \ No newline at end of file +- Анонимный экспорт расписания временно отключен +- Исправлена проблема с экспортом расписания +- Теперь дистанционные пары отмечаются как "ДОТ" \ No newline at end of file diff --git a/changelogs/github.md b/changelogs/github.md index 16a568a..f65e872 100644 --- a/changelogs/github.md +++ b/changelogs/github.md @@ -1,2 +1,4 @@ ## Core -- Anonymous schedule export is temporarly disabled \ No newline at end of file +- Anonymous schedule export is temporarly disabled +- Fixed export failing +- Remote lessons are now appropriately marked \ No newline at end of file diff --git a/changelogs/windows/en/baseListing/releaseNotes.txt b/changelogs/windows/en/baseListing/releaseNotes.txt index 18c47fd..240468f 100644 --- a/changelogs/windows/en/baseListing/releaseNotes.txt +++ b/changelogs/windows/en/baseListing/releaseNotes.txt @@ -1 +1,3 @@ -- Anonymous schedule export is temporarly disabled \ No newline at end of file +- Anonymous schedule export is temporarly disabled +- Fixed export failing +- Remote lessons are now appropriately marked \ No newline at end of file diff --git a/changelogs/windows/ru/baseListing/releaseNotes.txt b/changelogs/windows/ru/baseListing/releaseNotes.txt index 6ce5084..79c0f5c 100644 --- a/changelogs/windows/ru/baseListing/releaseNotes.txt +++ b/changelogs/windows/ru/baseListing/releaseNotes.txt @@ -1 +1,3 @@ -- Анонимный экспорт расписания временно отключен \ No newline at end of file +- Анонимный экспорт расписания временно отключен +- Исправлена проблема с экспортом расписания +- Теперь дистанционные пары отмечаются как "ДОТ" \ No newline at end of file