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