diff --git a/.gitignore b/.gitignore index 8ad04ebf0..4f2819d49 100644 --- a/.gitignore +++ b/.gitignore @@ -46,5 +46,5 @@ ehthumbs.db Thumbs.db .idea/codeStyles/ .idea/caches/ -./app/key.p12 -./app/upload-key.jks +app/key.p12 +app/upload-key.jks diff --git a/api/src/main/java/io/github/wulkanowy/api/login/StartPage.kt b/api/src/main/java/io/github/wulkanowy/api/login/StartPage.kt index 6f6b14902..57463a087 100644 --- a/api/src/main/java/io/github/wulkanowy/api/login/StartPage.kt +++ b/api/src/main/java/io/github/wulkanowy/api/login/StartPage.kt @@ -5,6 +5,7 @@ import io.github.wulkanowy.api.VulcanException import io.github.wulkanowy.api.generic.School import org.jsoup.nodes.Document import org.slf4j.LoggerFactory +import java.net.URL class StartPage(val client: Client) { @@ -13,7 +14,7 @@ class StartPage(val client: Client) { fun getSchools(startPage: Document): MutableList { val schoolList = mutableListOf() - val snpLinks = startPage.select(".panel.linkownia.pracownik.klient a") + val snpLinks = startPage.select(".panel.linkownia.pracownik.klient a[href*=\"uonetplus-opiekun\"]") logger.debug("SnP links: {}", snpLinks.size) @@ -24,7 +25,7 @@ class StartPage(val client: Client) { snpLinks.map { schoolList.add(School( it.text(), - getExtractedIdFromUrl(it.attr("href")), + getExtractedSchoolSymbolFromUrl(it.attr("href")), it == snpLinks.first() )) } @@ -32,10 +33,10 @@ class StartPage(val client: Client) { return schoolList } - internal fun getExtractedIdFromUrl(snpPageUrl: String): String { - val path = snpPageUrl.split(client.host).getOrNull(1)?.split("/") + internal fun getExtractedSchoolSymbolFromUrl(snpPageUrl: String): String { + val path = URL(snpPageUrl).path.split("/") - if (6 != path?.size) { + if (6 != path.size) { logger.error("Expected snp url, got {}", snpPageUrl) throw VulcanException("Na pewno używasz konta z dostępem do Witryny ucznia i rodzica?") } diff --git a/api/src/test/java/io/github/wulkanowy/api/login/StartPageTest.kt b/api/src/test/java/io/github/wulkanowy/api/login/StartPageTest.kt index 271b3bb0a..fb2bf00ca 100644 --- a/api/src/test/java/io/github/wulkanowy/api/login/StartPageTest.kt +++ b/api/src/test/java/io/github/wulkanowy/api/login/StartPageTest.kt @@ -51,18 +51,18 @@ class StartPageTest { @Test fun getExtractedIDStandardTest() { assertEquals("123456", StartPage(client) - .getExtractedIdFromUrl("https://uonetplus-opiekun.fakelog.cf/powiat/123456/Start/Index/")) + .getExtractedSchoolSymbolFromUrl("https://uonetplus-opiekun.fakelog.cf/powiat/123456/Start/Index/")) } @Test fun getExtractedIDDemoTest() { assertEquals("demo12345", StartPage(client) - .getExtractedIdFromUrl("https://uonetplus-opiekun.fakelog.cf/demoupowiat/demo12345/Start/Index/")) + .getExtractedSchoolSymbolFromUrl("https://uonetplus-opiekun.fakelog.cf/demoupowiat/demo12345/Start/Index/")) } @Test(expected = VulcanException::class) fun getExtractedIDNotLoggedTest() { assertEquals("123", StartPage(client) - .getExtractedIdFromUrl("https://uonetplus.NOTfakelog.cf/powiat/")) + .getExtractedSchoolSymbolFromUrl("https://uonetplus.NOTfakelog.cf/powiat/")) } } diff --git a/api/src/test/resources/io/github/wulkanowy/api/Start-multi.html b/api/src/test/resources/io/github/wulkanowy/api/Start-multi.html index 98d385ee8..d53236777 100644 --- a/api/src/test/resources/io/github/wulkanowy/api/Start-multi.html +++ b/api/src/test/resources/io/github/wulkanowy/api/Start-multi.html @@ -10,14 +10,16 @@ diff --git a/api/src/test/resources/io/github/wulkanowy/api/Start-std.html b/api/src/test/resources/io/github/wulkanowy/api/Start-std.html index 574bd9b99..2cf03d630 100644 --- a/api/src/test/resources/io/github/wulkanowy/api/Start-std.html +++ b/api/src/test/resources/io/github/wulkanowy/api/Start-std.html @@ -9,13 +9,26 @@
diff --git a/api/src/test/resources/io/github/wulkanowy/api/login/Logowanie-success.html b/api/src/test/resources/io/github/wulkanowy/api/login/Logowanie-success.html index f35e68668..b635388b3 100644 --- a/api/src/test/resources/io/github/wulkanowy/api/login/Logowanie-success.html +++ b/api/src/test/resources/io/github/wulkanowy/api/login/Logowanie-success.html @@ -14,13 +14,15 @@
diff --git a/app/build.gradle b/app/build.gradle index 779343318..8a0abe3bd 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -43,8 +43,8 @@ android { testApplicationId "io.github.tests.wulkanowy" minSdkVersion 15 targetSdkVersion 27 - versionCode 16 - versionName "0.5.2" + versionCode 18 + versionName "0.5.4" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" vectorDrawables.useSupportLibrary = true playAccountConfig = playAccountConfigs.defaultAccountConfig diff --git a/app/src/main/play/pl-PL/whatsnew b/app/src/main/play/pl-PL/whatsnew index ff412b228..205817c54 100644 --- a/app/src/main/play/pl-PL/whatsnew +++ b/app/src/main/play/pl-PL/whatsnew @@ -1,5 +1,2 @@ -Wersja 0.5.1: -- dodano wagę ocen na liście -- naprawiono błędy podczas logowania -- zmieniono nasycenie kolorów ocen -- wyłączenie synchronizacji podczas wakacji +Wersja 0.5.4: +- naprawiono błąd logowania