diff --git a/config/__tests/ejudge_icpc_unfreeze/2023-voronezh/settings.json b/config/__tests/ejudge_icpc_unfreeze/2023-voronezh/settings.json index 3b6a53cac..8bcb3fc7e 100644 --- a/config/__tests/ejudge_icpc_unfreeze/2023-voronezh/settings.json +++ b/config/__tests/ejudge_icpc_unfreeze/2023-voronezh/settings.json @@ -1,4 +1,4 @@ { "type": "ejudge", - "url": "http://ioi-russia.vdi.mipt.ru/~ejudge/voronezh2023day1.xml" + "source": "http://ioi-russia.vdi.mipt.ru/~ejudge/voronezh2023day1.xml" } \ No newline at end of file diff --git a/config/__tests/ejudge_ioi/regionalroi-lpk-2021-d1/settings.json b/config/__tests/ejudge_ioi/regionalroi-lpk-2021-d1/settings.json index 42cd28bd2..896791395 100644 --- a/config/__tests/ejudge_ioi/regionalroi-lpk-2021-d1/settings.json +++ b/config/__tests/ejudge_ioi/regionalroi-lpk-2021-d1/settings.json @@ -1,5 +1,5 @@ { "type": "ejudge", "resultType": "IOI", - "url": "https://ejudge.strategy48.ru/regional-2021-d1.xml" + "source": "https://ejudge.strategy48.ru/regional-2021-d1.xml" } \ No newline at end of file diff --git a/config/__tests/ejudge_ioi_virtual/mosh-2023-keldysh/settings.json b/config/__tests/ejudge_ioi_virtual/mosh-2023-keldysh/settings.json index 74f94da3b..4e39b9681 100644 --- a/config/__tests/ejudge_ioi_virtual/mosh-2023-keldysh/settings.json +++ b/config/__tests/ejudge_ioi_virtual/mosh-2023-keldysh/settings.json @@ -1,5 +1,5 @@ { "type": "ejudge", "resultType": "IOI", - "url": "https://olympiads.ru/GDUvPbXKZ6lXalSG/external.xml" + "source": "https://olympiads.ru/GDUvPbXKZ6lXalSG/external.xml" } \ No newline at end of file diff --git a/config/__tests/pcms_icpc_freeze/icpc-nef-2022-2023/settings.json b/config/__tests/pcms_icpc_freeze/icpc-nef-2022-2023/settings.json index 5aca0f48c..4b022d12a 100644 --- a/config/__tests/pcms_icpc_freeze/icpc-nef-2022-2023/settings.json +++ b/config/__tests/pcms_icpc_freeze/icpc-nef-2022-2023/settings.json @@ -1,4 +1,4 @@ { "type": "pcms", - "url": "https://nerc.itmo.ru/archive/2022/standings.xml" + "source": "https://nerc.itmo.ru/archive/2022/standings.xml" } \ No newline at end of file diff --git a/config/__tests/pcms_icpc_overrides/icpc-nef-2021-2022/settings.json b/config/__tests/pcms_icpc_overrides/icpc-nef-2021-2022/settings.json index 583def4f5..24b117901 100644 --- a/config/__tests/pcms_icpc_overrides/icpc-nef-2021-2022/settings.json +++ b/config/__tests/pcms_icpc_overrides/icpc-nef-2021-2022/settings.json @@ -1,4 +1,4 @@ { "type": "pcms", - "url": "https://nerc.itmo.ru/archive/2021/standings.xml" + "source": "https://nerc.itmo.ru/archive/2021/standings.xml" } \ No newline at end of file diff --git a/config/__tests/pcms_ioi/innopolis-open-2022-2023-final/settings.json b/config/__tests/pcms_ioi/innopolis-open-2022-2023-final/settings.json index eaf140854..44fc0405f 100644 --- a/config/__tests/pcms_ioi/innopolis-open-2022-2023-final/settings.json +++ b/config/__tests/pcms_ioi/innopolis-open-2022-2023-final/settings.json @@ -1,5 +1,5 @@ { "type": "pcms", - "url": "https://pcms.university.innopolis.ru/results/innopolis/2022-2023/final-main.xml", + "source": "https://pcms.university.innopolis.ru/results/innopolis/2022-2023/final-main.xml", "resultType": "IOI" } \ No newline at end of file diff --git a/config/__tests/testsys_icpc/spbsu-2023-may/settings.json b/config/__tests/testsys_icpc/spbsu-2023-may/settings.json index 7085263ad..b48411e02 100644 --- a/config/__tests/testsys_icpc/spbsu-2023-may/settings.json +++ b/config/__tests/testsys_icpc/spbsu-2023-may/settings.json @@ -1,4 +1,4 @@ { "type": "testsys", - "url": "http://acm.math.spbu.ru/cgi-bin/view.pl/m230514.dat" + "source": "http://acm.math.spbu.ru/cgi-bin/view.pl/m230514.dat" } \ No newline at end of file diff --git a/config/_achievements_simple/settings.json b/config/_achievements_simple/settings.json index 18e7d0881..a9efd5bb6 100644 --- a/config/_achievements_simple/settings.json +++ b/config/_achievements_simple/settings.json @@ -1,5 +1,5 @@ { - "url":"http://nerc.itmo.ru/archive/2020/standings.xml", + "source":"http://nerc.itmo.ru/archive/2020/standings.xml", "type":"pcms", "emulation":{"speed":1, "startTime":"now"} diff --git a/config/_examples/cats_icpc/settings.json b/config/_examples/cats_icpc/settings.json index 16a137dcb..463df4cdd 100644 --- a/config/_examples/cats_icpc/settings.json +++ b/config/_examples/cats_icpc/settings.json @@ -1,6 +1,6 @@ { "type":"cats", - "url":"https://imcs.dvfu.ru/cats", + "source":"https://imcs.dvfu.ru/cats", "cid":"5481581", "timeZone":"UTC+10", "resultType":"ICPC", diff --git a/config/_examples/cats_ioi/settings.json b/config/_examples/cats_ioi/settings.json index c9a7a7c4e..b1b4fe9b2 100644 --- a/config/_examples/cats_ioi/settings.json +++ b/config/_examples/cats_ioi/settings.json @@ -1,5 +1,5 @@ { - "url":"https://imcs.dvfu.ru/cats", + "source":"https://imcs.dvfu.ru/cats", "cid":"5974394", "type":"cats", "timeZone":"UTC+10", diff --git a/config/_examples/clics/settings.json b/config/_examples/clics/settings.json index 2212b96d1..304ae55f3 100644 --- a/config/_examples/clics/settings.json +++ b/config/_examples/clics/settings.json @@ -2,7 +2,7 @@ "type":"clics", "feeds": [ { - "url": { + "source": { "url": "https://cds.storm.vu/api", "login":"live", "password":"$creds.cds_password_pretest_dhaka" diff --git a/config/_examples/cms/settings.json b/config/_examples/cms/settings.json index 2973ef405..4276d1b21 100644 --- a/config/_examples/cms/settings.json +++ b/config/_examples/cms/settings.json @@ -2,5 +2,5 @@ "type": "cms", "activeContest": "ceoi22_5f2", "otherContests": ["ceoi22_5f1"], - "url": "https://ceoi.hsin.hr/ranking/" + "source": "https://ceoi.hsin.hr/ranking/" } \ No newline at end of file diff --git a/config/_examples/dmoj-icpc/settings.json b/config/_examples/dmoj-icpc/settings.json index 03291147f..183cef8ec 100644 --- a/config/_examples/dmoj-icpc/settings.json +++ b/config/_examples/dmoj-icpc/settings.json @@ -1,6 +1,6 @@ { "type": "dmoj", - "url": "https://dmoj.ca/", + "source": "https://dmoj.ca/", "contestId": "waterloo2023f", "apiKey": "$creds.dmoj" } \ No newline at end of file diff --git a/config/_examples/krsu/settings.json b/config/_examples/krsu/settings.json index 5d6d957f5..05faad45a 100644 --- a/config/_examples/krsu/settings.json +++ b/config/_examples/krsu/settings.json @@ -1,8 +1,8 @@ { "type":"krsu", - "submissionsUrl":"https://olymp.krsu.edu.kg/web/api/contestsubmissions/submissions?apiKey=a1f4d25se3&size=1000000&lowerBound=-1&upperBound=2000000000&contest=772&probe=0&isAdmin=1", - "contestUrl":"https://olymp.krsu.edu.kg/web/api/contestsubmissions/contestinfo?apiKey=a1f4d25se3&id=772", + "submissionsSource":"https://olymp.krsu.edu.kg/web/api/contestsubmissions/submissions?apiKey=a1f4d25se3&size=1000000&lowerBound=-1&upperBound=2000000000&contest=772&probe=0&isAdmin=1", + "contestSource":"https://olymp.krsu.edu.kg/web/api/contestsubmissions/contestinfo?apiKey=a1f4d25se3&id=772", "emulation":{"speed":5,"startTime":"now"} } diff --git a/config/_examples/nsu/settings.json b/config/_examples/nsu/settings.json index ed3cba899..b942d836c 100644 --- a/config/_examples/nsu/settings.json +++ b/config/_examples/nsu/settings.json @@ -4,5 +4,5 @@ "password": "$creds.nsu_password", "olympiadId": 228, "tourId": 11881, - "url": "https://olympic.nsu.ru/nsuts-new" + "source": "https://olympic.nsu.ru/nsuts-new" } \ No newline at end of file diff --git a/config/_examples/pcms/settings.json b/config/_examples/pcms/settings.json index e270bee40..27f2ab857 100644 --- a/config/_examples/pcms/settings.json +++ b/config/_examples/pcms/settings.json @@ -1,4 +1,4 @@ { "type":"pcms", - "url":"https://nerc.itmo.ru/archive/2023/northern/nwq-2023.xml" + "source":"https://nerc.itmo.ru/archive/2023/northern/nwq-2023.xml" } diff --git a/config/_examples/testsys/settings.json b/config/_examples/testsys/settings.json index 4cd1b0e4e..9ed81151c 100644 --- a/config/_examples/testsys/settings.json +++ b/config/_examples/testsys/settings.json @@ -1,4 +1,4 @@ { "type": "testsys", - "url": "http://acm.math.spbu.ru/cgi-bin/view.pl/n201206.dat", + "source": "http://acm.math.spbu.ru/cgi-bin/view.pl/n201206.dat", } \ No newline at end of file diff --git a/config/ceoi/2022/settings.json b/config/ceoi/2022/settings.json index 1bedcc8a4..782ebb787 100644 --- a/config/ceoi/2022/settings.json +++ b/config/ceoi/2022/settings.json @@ -2,7 +2,7 @@ "type": "cms", "activeContest": "ceoi22_5f2", "otherContests": ["ceoi22_5f1"], - "url": "https://ceoi.hsin.hr/ranking/", + "source": "https://ceoi.hsin.hr/ranking/", "emulation": { "speed": 3, "startTime": "now" diff --git a/config/chu/2023/d1/settings.json b/config/chu/2023/d1/settings.json index 0c36caec7..719eacf90 100644 --- a/config/chu/2023/d1/settings.json +++ b/config/chu/2023/d1/settings.json @@ -1,5 +1,5 @@ { "type":"ejudge", - "url":"https://timus.online/admin/spacelog.aspx/log-2.xml?space=1499&action=getejudgelog", + "source":"https://timus.online/admin/spacelog.aspx/log-2.xml?space=1499&action=getejudgelog", //"#timusSessionId":"123" } \ No newline at end of file diff --git a/config/chu/2023/d2/settings.json b/config/chu/2023/d2/settings.json index 224a79367..0048cf715 100644 --- a/config/chu/2023/d2/settings.json +++ b/config/chu/2023/d2/settings.json @@ -1,5 +1,5 @@ { "type":"ejudge", - "url":"https://timus.online/admin/spacelog.aspx/log-2.xml?space=1500&action=getejudgelog", + "source":"https://timus.online/admin/spacelog.aspx/log-2.xml?space=1500&action=getejudgelog", //"timusSessionId":"123" } \ No newline at end of file diff --git a/config/chu/2023/dress/settings.json b/config/chu/2023/dress/settings.json index f1454cd67..512208276 100644 --- a/config/chu/2023/dress/settings.json +++ b/config/chu/2023/dress/settings.json @@ -1,5 +1,5 @@ { "type":"ejudge", - "url":"https://timus.online/admin/spacelog.aspx/log-2.xml?space=1498&action=getejudgelog", + "source":"https://timus.online/admin/spacelog.aspx/log-2.xml?space=1498&action=getejudgelog", //"#timusSessionId":"123" } \ No newline at end of file diff --git a/config/chu/2024/d1/settings.json b/config/chu/2024/d1/settings.json index 6d94b2f4f..bd619eaf5 100755 --- a/config/chu/2024/d1/settings.json +++ b/config/chu/2024/d1/settings.json @@ -8,6 +8,6 @@ // } // } //}, - "url": "log-1605.xml", + "source": "log-1605.xml", "timeZone": "Asia/Yekaterinburg", } \ No newline at end of file diff --git a/config/chu/2024/d2/settings.json b/config/chu/2024/d2/settings.json index f1eb58bad..bd86a67c5 100755 --- a/config/chu/2024/d2/settings.json +++ b/config/chu/2024/d2/settings.json @@ -8,6 +8,6 @@ // } // } //}, - "url": "log-1606.xml", + "source": "log-1606.xml", "timeZone": "Asia/Yekaterinburg", } \ No newline at end of file diff --git a/config/code-work/2023/main-tour/settings.json b/config/code-work/2023/main-tour/settings.json index 52db22cde..77ce4dcbf 100644 --- a/config/code-work/2023/main-tour/settings.json +++ b/config/code-work/2023/main-tour/settings.json @@ -1,6 +1,6 @@ { "type":"cats", - "url":"https://imcs.dvfu.ru/cats", + "source":"https://imcs.dvfu.ru/cats", "cid":"6715954", "timeZone":"UTC+10", "resultType":"ICPC", diff --git a/config/code-work/2023/test/settings.json b/config/code-work/2023/test/settings.json index 806988230..ea90afae9 100644 --- a/config/code-work/2023/test/settings.json +++ b/config/code-work/2023/test/settings.json @@ -1,6 +1,6 @@ { "type":"cats", - "url":"https://imcs.dvfu.ru/cats", + "source":"https://imcs.dvfu.ru/cats", "cid":"6715945", "timeZone":"UTC+10", "resultType":"ICPC", diff --git a/config/code-work/2023/testTour/settings.json b/config/code-work/2023/testTour/settings.json index df4910e91..d585fb789 100644 --- a/config/code-work/2023/testTour/settings.json +++ b/config/code-work/2023/testTour/settings.json @@ -1,6 +1,6 @@ { "type":"cats", - "url":"https://imcs.dvfu.ru/cats", + "source":"https://imcs.dvfu.ru/cats", "cid":"6747059", "timeZone":"UTC+10", "resultType":"ICPC", diff --git a/config/ejoi/2023/settings.json b/config/ejoi/2023/settings.json index 5fdd1cf3e..740623266 100644 --- a/config/ejoi/2023/settings.json +++ b/config/ejoi/2023/settings.json @@ -2,5 +2,5 @@ "type": "cms", "activeContest": "day2", "otherContests": ["day1"], - "url": "http://ranking.ejoi2023.kiu.edu.ge" + "source": "http://ranking.ejoi2023.kiu.edu.ge" } \ No newline at end of file diff --git a/config/fake/settings.json b/config/fake/settings.json index 605b2e7a0..7694e78c1 100644 --- a/config/fake/settings.json +++ b/config/fake/settings.json @@ -2,7 +2,7 @@ "type": "clics", "feeds": [ { - "url": "http://localhost:8000", + "source": "http://localhost:8000", "contestId": "", "eventFeedPath": "", "feedVersion": "2020_03" diff --git a/config/fed/2023-voronezh/settings.json b/config/fed/2023-voronezh/settings.json index 07c7c3f45..ae28e0216 100644 --- a/config/fed/2023-voronezh/settings.json +++ b/config/fed/2023-voronezh/settings.json @@ -1,4 +1,4 @@ { "type":"ejudge", - "url":"http://ioi-russia.vdi.mipt.ru/~ejudge/voronezh2023day1.xml" + "source":"http://ioi-russia.vdi.mipt.ru/~ejudge/voronezh2023day1.xml" } diff --git a/config/icpc-asia-pacific/settings.json b/config/icpc-asia-pacific/settings.json index 6e6ad1be5..aa80f8e16 100644 --- a/config/icpc-asia-pacific/settings.json +++ b/config/icpc-asia-pacific/settings.json @@ -2,7 +2,7 @@ "type":"clics", "feeds": [ { - "url": { + "source": { "url": "https://icpc2024-pacific-maingate.gusmachine.com/api", "login":"login", "password":"password" diff --git a/config/icpc-europe/bapc-2022-2023/settings.json b/config/icpc-europe/bapc-2022-2023/settings.json index 50c6d64f8..9609a584d 100644 --- a/config/icpc-europe/bapc-2022-2023/settings.json +++ b/config/icpc-europe/bapc-2022-2023/settings.json @@ -2,7 +2,7 @@ "type": "clics", "feeds": [ { - "url": { + "source": { "url": "https://cds.gehack.nl/api", "login": "$creds.login", "password": "$creds.password" diff --git a/config/icpc-europe/dapc-2023-2024/settings.json b/config/icpc-europe/dapc-2023-2024/settings.json index 1cb27dd44..a5ff398e9 100644 --- a/config/icpc-europe/dapc-2023-2024/settings.json +++ b/config/icpc-europe/dapc-2023-2024/settings.json @@ -2,7 +2,7 @@ "type": "clics", "feeds": [ { - "url": { + "source": { "url": "https://cds.chipcie.ch.tudelft.nl/api", "login": "live", "password": "password" diff --git a/config/icpc-europe/euc-2023-2024/settings.json b/config/icpc-europe/euc-2023-2024/settings.json index aaf561bed..b3abc36ee 100644 --- a/config/icpc-europe/euc-2023-2024/settings.json +++ b/config/icpc-europe/euc-2023-2024/settings.json @@ -2,7 +2,7 @@ "type": "clics", "feeds": [ { - "url": ".", + "source": ".", "eventFeedPath": "", "contestId": "EUC24", "feedVersion": "2022_07", diff --git a/config/icpc-europe/nwerc-2018-2019/cds/settings.json b/config/icpc-europe/nwerc-2018-2019/cds/settings.json index b6a87a5b9..a31662ee0 100644 --- a/config/icpc-europe/nwerc-2018-2019/cds/settings.json +++ b/config/icpc-europe/nwerc-2018-2019/cds/settings.json @@ -2,7 +2,7 @@ "type":"clics", "feeds": [ { - "url": { + "source": { "url": "https://cds.gehack.nl/api", "login": "$creds.nwerc18_login_cds", "password": "$creds.nwerc18_password_cds" diff --git a/config/icpc-europe/nwerc-2018-2019/native/settings.json b/config/icpc-europe/nwerc-2018-2019/native/settings.json index 15e02a8bc..eed7cde03 100644 --- a/config/icpc-europe/nwerc-2018-2019/native/settings.json +++ b/config/icpc-europe/nwerc-2018-2019/native/settings.json @@ -2,7 +2,7 @@ "type": "clics", "feeds": [ { - "url": { + "source": { "url": "https://www.domjudge.org/demoweb/api", "login": "$creds.nwerc18_login", "password": "$creds.nwerc18_password" diff --git a/config/icpc-europe/nwerc-2019-2020/settings.json b/config/icpc-europe/nwerc-2019-2020/settings.json index 2a9c1b2b2..9e82789a5 100644 --- a/config/icpc-europe/nwerc-2019-2020/settings.json +++ b/config/icpc-europe/nwerc-2019-2020/settings.json @@ -2,7 +2,7 @@ "type":"clics", "feeds": [ { - "url": { + "source": { "url": "https://judge.gehack.nl:8443/api", "login": "live", "password": "monger-lawless-hymn-inhaler" diff --git a/config/icpc-europe/nwerc-2022-2023/settings.json b/config/icpc-europe/nwerc-2022-2023/settings.json index 182986896..093fe05f2 100644 --- a/config/icpc-europe/nwerc-2022-2023/settings.json +++ b/config/icpc-europe/nwerc-2022-2023/settings.json @@ -2,7 +2,7 @@ "type":"clics", "feeds": [ { - "url": { + "source": { "url": "https://cds.chipcie.ch.tudelft.nl/api", "login": "$creds.login", "password": "$creds.password" diff --git a/config/icpc-europe/swerc-2021-2022/contest/settings.json b/config/icpc-europe/swerc-2021-2022/contest/settings.json index 40fb31711..835398500 100644 --- a/config/icpc-europe/swerc-2021-2022/contest/settings.json +++ b/config/icpc-europe/swerc-2021-2022/contest/settings.json @@ -2,7 +2,7 @@ "type": "clics", "feeds": [ { - "url": { + "source": { "url": "https://cds.swerc.eu/api", "login": "live", "password": "secret" diff --git a/config/icpc-europe/swerc-2021-2022/dress/settings.json b/config/icpc-europe/swerc-2021-2022/dress/settings.json index d9a9e4260..171e07749 100644 --- a/config/icpc-europe/swerc-2021-2022/dress/settings.json +++ b/config/icpc-europe/swerc-2021-2022/dress/settings.json @@ -2,7 +2,7 @@ "type":"clics", "feeds": [ { - "url": { + "source": { "url": "https://cds.swerc.eu/api", "login": "live", "password": "SECRET" diff --git a/config/icpc-europe/swerc-2022-2023/contest/settings.json b/config/icpc-europe/swerc-2022-2023/contest/settings.json index 4e510c62c..f29dc2e82 100644 --- a/config/icpc-europe/swerc-2022-2023/contest/settings.json +++ b/config/icpc-europe/swerc-2022-2023/contest/settings.json @@ -2,7 +2,7 @@ "type": "clics", "feeds": [ { - "url": { + "source": { "url": "https://cds.swerc.eu/api", "login": "live", "password": "$creds.swerc22" diff --git a/config/icpc-europe/swerc-2022-2023/practice/settings.json b/config/icpc-europe/swerc-2022-2023/practice/settings.json index f9b00071d..740162bef 100644 --- a/config/icpc-europe/swerc-2022-2023/practice/settings.json +++ b/config/icpc-europe/swerc-2022-2023/practice/settings.json @@ -2,7 +2,7 @@ "type": "clics", "feeds": [ { - "url": { + "source": { "url": "https://cds.swerc.eu/api", "login": "live", "password": "$creds.swerc22" diff --git a/config/icpc-europe/swerc-2023-2024/settings.json b/config/icpc-europe/swerc-2023-2024/settings.json index 59f452d14..c3c71cf81 100644 --- a/config/icpc-europe/swerc-2023-2024/settings.json +++ b/config/icpc-europe/swerc-2023-2024/settings.json @@ -1,15 +1,15 @@ { - "type": "clics", - "network": { "allowUnsecureConnections": true }, - "feeds": [ - { - "url": { - "url": "https://domjudge.lip6.fr:9443/api", - "login": "live", - "password": "password" - }, - "contestId": "swerc2023", - "feedVersion": "2022_07" - } - ] - } \ No newline at end of file + "type": "clics", + "network": {"allowUnsecureConnections": true}, + "feeds": [ + { + "source": { + "url": "https://domjudge.lip6.fr:9443/api", + "login": "live", + "password": "password" + }, + "contestId": "swerc2023", + "feedVersion": "2022_07" + } + ] +} \ No newline at end of file diff --git a/config/icpc-north-america/gny-2023/contest/settings.json b/config/icpc-north-america/gny-2023/contest/settings.json index e827d262e..79a0d71f0 100644 --- a/config/icpc-north-america/gny-2023/contest/settings.json +++ b/config/icpc-north-america/gny-2023/contest/settings.json @@ -3,7 +3,7 @@ "network": { "allowUnsecureConnections": true }, "feeds": [ { - "url": { + "source": { "url": "https://gnyserver.icpc-vcss.org:50443/contest", "login": "icpclive", "password": "secret" diff --git a/config/icpc-north-america/gny-2023/filter-local/settings.json b/config/icpc-north-america/gny-2023/filter-local/settings.json index 9e6bbd740..5265b2671 100644 --- a/config/icpc-north-america/gny-2023/filter-local/settings.json +++ b/config/icpc-north-america/gny-2023/filter-local/settings.json @@ -2,7 +2,7 @@ "type": "clics", "feeds": [ { - "url": ".", + "source": ".", "contestId": "", "eventFeedPath": "", "feedVersion": "2020_03" diff --git a/config/icpc-north-america/gny-2023/filter/settings.json b/config/icpc-north-america/gny-2023/filter/settings.json index e9b6ca76e..989e7daba 100644 --- a/config/icpc-north-america/gny-2023/filter/settings.json +++ b/config/icpc-north-america/gny-2023/filter/settings.json @@ -3,7 +3,7 @@ "network": { "allowUnsecureConnections": true }, "feeds": [ { - "url": { + "source": { "url": "https://gnyserver.icpc-vcss.org:50443/contest", "login": "icpclive", "password": "secret" diff --git a/config/icpc-north-america/gny-2023/practice/settings.json b/config/icpc-north-america/gny-2023/practice/settings.json index e827d262e..79a0d71f0 100644 --- a/config/icpc-north-america/gny-2023/practice/settings.json +++ b/config/icpc-north-america/gny-2023/practice/settings.json @@ -3,7 +3,7 @@ "network": { "allowUnsecureConnections": true }, "feeds": [ { - "url": { + "source": { "url": "https://gnyserver.icpc-vcss.org:50443/contest", "login": "icpclive", "password": "secret" diff --git a/config/icpc-north-america/mid-central-2023/settings.json b/config/icpc-north-america/mid-central-2023/settings.json index e900482b9..e7d187dec 100644 --- a/config/icpc-north-america/mid-central-2023/settings.json +++ b/config/icpc-north-america/mid-central-2023/settings.json @@ -1,14 +1,14 @@ { - "type":"clics", - "feeds": [ - { - "url": { - "url": "https://open.kattis.com/clics-api", - "login": "$creds.kattis_login", - "password": "$creds.kattis_token" - }, - "contestId": "mcpc23", - "feedVersion": "2020_03" - } - ] + "type": "clics", + "feeds": [ + { + "source": { + "url": "https://open.kattis.com/clics-api", + "login": "$creds.kattis_login", + "password": "$creds.kattis_token" + }, + "contestId": "mcpc23", + "feedVersion": "2020_03" + } + ] } \ No newline at end of file diff --git a/config/icpc-north-america/nac-2022/practice4/settings.json b/config/icpc-north-america/nac-2022/practice4/settings.json index 4c2627227..3024958c1 100644 --- a/config/icpc-north-america/nac-2022/practice4/settings.json +++ b/config/icpc-north-america/nac-2022/practice4/settings.json @@ -2,7 +2,7 @@ "type": "clics", "feeds": [ { - "url": { + "source": { "url": "https://open.kattis.com/clics-api", "login":"$creds.kattis_login", "password":"$creds.kattis_token" diff --git a/config/icpc-north-america/nac-2023/contest/settings.json b/config/icpc-north-america/nac-2023/contest/settings.json index d079078b4..86c74995b 100644 --- a/config/icpc-north-america/nac-2023/contest/settings.json +++ b/config/icpc-north-america/nac-2023/contest/settings.json @@ -2,7 +2,7 @@ "type": "clics", "feeds": [ { - "url": { + "source": { "url": "https://10.3.3.207/api", "login": "$creds.cds_login", "password": "$creds.cds_password" diff --git a/config/icpc-north-america/nac-2023/dr/settings.json b/config/icpc-north-america/nac-2023/dr/settings.json index 7c2bd4b31..2253ff999 100644 --- a/config/icpc-north-america/nac-2023/dr/settings.json +++ b/config/icpc-north-america/nac-2023/dr/settings.json @@ -2,7 +2,7 @@ "type":"clics", "feeds": [ { - "url": { + "source": { "url": "https://10.3.3.207/api", "login": "$creds.cds_login", "password": "$creds.cds_password" diff --git a/config/icpc-north-america/nac-2023/test1/settings.json b/config/icpc-north-america/nac-2023/test1/settings.json index 3fccb0921..ce7350d0e 100644 --- a/config/icpc-north-america/nac-2023/test1/settings.json +++ b/config/icpc-north-america/nac-2023/test1/settings.json @@ -2,7 +2,7 @@ "type": "clics", "feeds": [ { - "url": { + "source": { "url": "https://10.3.3.207/api", "login": "$creds.cds_login", "password": "$creds.cds_password" diff --git a/config/icpc-north-america/nac-2023/test2/settings.json b/config/icpc-north-america/nac-2023/test2/settings.json index b12d4e7aa..030d2937c 100644 --- a/config/icpc-north-america/nac-2023/test2/settings.json +++ b/config/icpc-north-america/nac-2023/test2/settings.json @@ -2,7 +2,7 @@ "type": "clics", "feeds": [ { - "url": { + "source": { "url": "https://10.3.3.207/api", "login": "$creds.cds_login", "password": "$creds.cds_password" diff --git a/config/icpc-north-america/pacnw-2023-D1/settings.json b/config/icpc-north-america/pacnw-2023-D1/settings.json index 24335b7d5..db6b05f3f 100644 --- a/config/icpc-north-america/pacnw-2023-D1/settings.json +++ b/config/icpc-north-america/pacnw-2023-D1/settings.json @@ -2,7 +2,7 @@ "type": "clics", "feeds": [ { - "url": ".", + "source": ".", "contestId": "", "feedVersion": "2020_03", "eventFeedPath": "" diff --git a/config/icpc-north-america/pacnw-2023-D2/settings.json b/config/icpc-north-america/pacnw-2023-D2/settings.json index 24335b7d5..db6b05f3f 100644 --- a/config/icpc-north-america/pacnw-2023-D2/settings.json +++ b/config/icpc-north-america/pacnw-2023-D2/settings.json @@ -2,7 +2,7 @@ "type": "clics", "feeds": [ { - "url": ".", + "source": ".", "contestId": "", "feedVersion": "2020_03", "eventFeedPath": "" diff --git a/config/icpc-north-america/pacnw-2024-D1/settings.json b/config/icpc-north-america/pacnw-2024-D1/settings.json index f27865824..70d39cb73 100644 --- a/config/icpc-north-america/pacnw-2024-D1/settings.json +++ b/config/icpc-north-america/pacnw-2024-D1/settings.json @@ -3,7 +3,7 @@ "network": { "allowUnsecureConnections": true }, "feeds": [ { - "url": { + "source": { "url": "https://gnyserver.icpc-vcss.org:50443", "login": "icpclive", "password": "1" diff --git a/config/icpc-north-america/pacnw-2024-D2/settings.json b/config/icpc-north-america/pacnw-2024-D2/settings.json index a2191465f..f636b8245 100644 --- a/config/icpc-north-america/pacnw-2024-D2/settings.json +++ b/config/icpc-north-america/pacnw-2024-D2/settings.json @@ -3,7 +3,7 @@ "network": { "allowUnsecureConnections": true }, "feeds": [ { - "url": { + "source": { "url": "https://gnyserver.icpc-vcss.org:50443", "login": "icpclive", "password": "1" diff --git a/config/icpc-north-america/rmc-2021/settings.json b/config/icpc-north-america/rmc-2021/settings.json index 58c7694eb..c7db95362 100644 --- a/config/icpc-north-america/rmc-2021/settings.json +++ b/config/icpc-north-america/rmc-2021/settings.json @@ -2,7 +2,7 @@ "type":"clics", "feeds": [ { - "url": { + "source": { "url": "https://open.kattis.com/clics-api", "login": "$creds.kattis_login", "password": "$creds.kattis_token" diff --git a/config/icpc-north-america/south-2023-D1/settings.json b/config/icpc-north-america/south-2023-D1/settings.json index c9e30042d..ae8ebfd35 100644 --- a/config/icpc-north-america/south-2023-D1/settings.json +++ b/config/icpc-north-america/south-2023-D1/settings.json @@ -2,7 +2,7 @@ "type":"clics", "feeds": [ { - "url": { + "source": { "url": "https://open.kattis.com/clics-api", "login": "$creds.kattis_login", "password": "$creds.kattis_token" diff --git a/config/icpc-north-america/south-2023-D2/settings.json b/config/icpc-north-america/south-2023-D2/settings.json index e8a949c18..72856e8bd 100644 --- a/config/icpc-north-america/south-2023-D2/settings.json +++ b/config/icpc-north-america/south-2023-D2/settings.json @@ -2,7 +2,7 @@ "type":"clics", "feeds": [ { - "url": { + "source": { "url": "https://open.kattis.com/clics-api", "login": "$creds.kattis_login", "password": "$creds.kattis_token" diff --git a/config/icpc-northern-eurasia/nef-2016-2017/settings.json b/config/icpc-northern-eurasia/nef-2016-2017/settings.json index 5325c3837..f513c4f4a 100644 --- a/config/icpc-northern-eurasia/nef-2016-2017/settings.json +++ b/config/icpc-northern-eurasia/nef-2016-2017/settings.json @@ -1,5 +1,5 @@ { "type":"pcms", - "url":"https://nerc.itmo.ru/archive/2016/standings.xml" + "source":"https://nerc.itmo.ru/archive/2016/standings.xml" } diff --git a/config/icpc-northern-eurasia/nef-2017-2018/settings.json b/config/icpc-northern-eurasia/nef-2017-2018/settings.json index 950322d55..848d89bdd 100644 --- a/config/icpc-northern-eurasia/nef-2017-2018/settings.json +++ b/config/icpc-northern-eurasia/nef-2017-2018/settings.json @@ -1,4 +1,4 @@ { "type":"pcms", - "url":"https://nerc.itmo.ru/archive/2017/standings.xml" + "source":"https://nerc.itmo.ru/archive/2017/standings.xml" } diff --git a/config/icpc-northern-eurasia/nef-2018-2019/settings.json b/config/icpc-northern-eurasia/nef-2018-2019/settings.json index 4e34dd75f..8a9b9dfd1 100644 --- a/config/icpc-northern-eurasia/nef-2018-2019/settings.json +++ b/config/icpc-northern-eurasia/nef-2018-2019/settings.json @@ -1,4 +1,4 @@ { "type":"pcms", - "url":"https://nerc.itmo.ru/archive/2018/standings.xml" + "source":"https://nerc.itmo.ru/archive/2018/standings.xml" } diff --git a/config/icpc-northern-eurasia/nef-2020-2021/onsite/settings.json b/config/icpc-northern-eurasia/nef-2020-2021/onsite/settings.json index 61c24ea9f..02a03d624 100644 --- a/config/icpc-northern-eurasia/nef-2020-2021/onsite/settings.json +++ b/config/icpc-northern-eurasia/nef-2020-2021/onsite/settings.json @@ -1,5 +1,5 @@ { "type":"pcms", - "url":"https://nerc.itmo.ru/archive/2020/standings.xml" + "source":"https://nerc.itmo.ru/archive/2020/standings.xml" } diff --git a/config/icpc-northern-eurasia/nef-2021-2022/main/settings.json b/config/icpc-northern-eurasia/nef-2021-2022/main/settings.json index deebe0508..f28af0090 100644 --- a/config/icpc-northern-eurasia/nef-2021-2022/main/settings.json +++ b/config/icpc-northern-eurasia/nef-2021-2022/main/settings.json @@ -1,4 +1,4 @@ { "type":"pcms", - "url":"https://nerc.itmo.ru/archive/2021/standings.xml" + "source":"https://nerc.itmo.ru/archive/2021/standings.xml" } diff --git a/config/icpc-northern-eurasia/nef-2021-2022/test/settings.json b/config/icpc-northern-eurasia/nef-2021-2022/test/settings.json index deebe0508..f28af0090 100644 --- a/config/icpc-northern-eurasia/nef-2021-2022/test/settings.json +++ b/config/icpc-northern-eurasia/nef-2021-2022/test/settings.json @@ -1,4 +1,4 @@ { "type":"pcms", - "url":"https://nerc.itmo.ru/archive/2021/standings.xml" + "source":"https://nerc.itmo.ru/archive/2021/standings.xml" } diff --git a/config/icpc-northern-eurasia/nef-2022-2023/settings.json b/config/icpc-northern-eurasia/nef-2022-2023/settings.json index a290a60e8..322eda476 100644 --- a/config/icpc-northern-eurasia/nef-2022-2023/settings.json +++ b/config/icpc-northern-eurasia/nef-2022-2023/settings.json @@ -1,5 +1,5 @@ { "type": "pcms", - "url": "https://nerc.itmo.ru/archive/2022/standings.xml", + "source": "https://nerc.itmo.ru/archive/2022/standings.xml", "emulation": {"startTime": "2024-03-26T21:30:00Z", "speed": 2} } diff --git a/config/icpc-northern-eurasia/nef-2023-2024/settings.json b/config/icpc-northern-eurasia/nef-2023-2024/settings.json index 3bca941a0..ce69a813f 100644 --- a/config/icpc-northern-eurasia/nef-2023-2024/settings.json +++ b/config/icpc-northern-eurasia/nef-2023-2024/settings.json @@ -1,6 +1,6 @@ { "type":"pcms", - "url":"https://nerc.itmo.ru/archive/2023/nef-2023-real.xml", + "source":"https://nerc.itmo.ru/archive/2023/nef-2023-real.xml", "emulation": { "startTime": "now", "speed": 10 diff --git a/config/icpc-northern-eurasia/nwq-2021-2022/settings.json b/config/icpc-northern-eurasia/nwq-2021-2022/settings.json index bcf9e3383..3ca16b074 100644 --- a/config/icpc-northern-eurasia/nwq-2021-2022/settings.json +++ b/config/icpc-northern-eurasia/nwq-2021-2022/settings.json @@ -1,4 +1,4 @@ { "type":"pcms", - "url":"http://nerc.itmo.ru/archive/2021/northern/nwq-2021.xml" + "source":"http://nerc.itmo.ru/archive/2021/northern/nwq-2021.xml" } diff --git a/config/icpc-northern-eurasia/nwq-2022-2023/settings.json b/config/icpc-northern-eurasia/nwq-2022-2023/settings.json index 989ff9475..251ddb2ae 100644 --- a/config/icpc-northern-eurasia/nwq-2022-2023/settings.json +++ b/config/icpc-northern-eurasia/nwq-2022-2023/settings.json @@ -1,4 +1,4 @@ { "type":"pcms", - "url":"http://nerc.itmo.ru/archive/2022/northern/nwq-2022.xml" + "source":"http://nerc.itmo.ru/archive/2022/northern/nwq-2022.xml" } diff --git a/config/icpc-northern-eurasia/nwq-2023-2024/settings.json b/config/icpc-northern-eurasia/nwq-2023-2024/settings.json index e270bee40..27f2ab857 100644 --- a/config/icpc-northern-eurasia/nwq-2023-2024/settings.json +++ b/config/icpc-northern-eurasia/nwq-2023-2024/settings.json @@ -1,4 +1,4 @@ { "type":"pcms", - "url":"https://nerc.itmo.ru/archive/2023/northern/nwq-2023.xml" + "source":"https://nerc.itmo.ru/archive/2023/northern/nwq-2023.xml" } diff --git a/config/icpc-northern-eurasia/nwrrc-2018-2019/settings.json b/config/icpc-northern-eurasia/nwrrc-2018-2019/settings.json index 73390c759..a38975df1 100644 --- a/config/icpc-northern-eurasia/nwrrc-2018-2019/settings.json +++ b/config/icpc-northern-eurasia/nwrrc-2018-2019/settings.json @@ -1,4 +1,4 @@ { "type":"pcms", - "url":"http://neerc.ifmo.ru/archive/2018/northern/standings.xml" + "source":"http://neerc.ifmo.ru/archive/2018/northern/standings.xml" } \ No newline at end of file diff --git a/config/icpc-northern-eurasia/nwrrc-2019-2020/settings.json b/config/icpc-northern-eurasia/nwrrc-2019-2020/settings.json index 719c43c1d..2f7fcb21d 100644 --- a/config/icpc-northern-eurasia/nwrrc-2019-2020/settings.json +++ b/config/icpc-northern-eurasia/nwrrc-2019-2020/settings.json @@ -1,4 +1,4 @@ { "type":"pcms", - "url":"http://neerc.ifmo.ru/archive/2019/northern/standings.xml" + "source":"http://neerc.ifmo.ru/archive/2019/northern/standings.xml" } diff --git a/config/icpc-northern-eurasia/nwrrc-2020-2021/settings.json b/config/icpc-northern-eurasia/nwrrc-2020-2021/settings.json index 52a6b2f47..64e7348e3 100644 --- a/config/icpc-northern-eurasia/nwrrc-2020-2021/settings.json +++ b/config/icpc-northern-eurasia/nwrrc-2020-2021/settings.json @@ -1,4 +1,4 @@ { "type":"pcms", - "url":"http://nerc.itmo.ru/archive/2020/northern/standings.xml" + "source":"http://nerc.itmo.ru/archive/2020/northern/standings.xml" } \ No newline at end of file diff --git a/config/icpc-northern-eurasia/nwrrc-2022-2023/settings.json b/config/icpc-northern-eurasia/nwrrc-2022-2023/settings.json index c28468784..7c4eef610 100644 --- a/config/icpc-northern-eurasia/nwrrc-2022-2023/settings.json +++ b/config/icpc-northern-eurasia/nwrrc-2022-2023/settings.json @@ -1,4 +1,4 @@ { "type":"pcms", - "url":"http://nerc.itmo.ru/archive/2022/northern/standings.xml" + "source":"http://nerc.itmo.ru/archive/2022/northern/standings.xml" } \ No newline at end of file diff --git a/config/icpc-northern-eurasia/nwrrc-2023-2024/settings.json b/config/icpc-northern-eurasia/nwrrc-2023-2024/settings.json index 41a4b72cd..3b14a00d9 100644 --- a/config/icpc-northern-eurasia/nwrrc-2023-2024/settings.json +++ b/config/icpc-northern-eurasia/nwrrc-2023-2024/settings.json @@ -1,4 +1,4 @@ { "type":"pcms", - "url":"https://nerc.itmo.ru/archive/2023/northern/standings.xml" + "source":"https://nerc.itmo.ru/archive/2023/northern/standings.xml" } \ No newline at end of file diff --git a/config/icpc-northern-eurasia/southern-2022-2023/settings.json b/config/icpc-northern-eurasia/southern-2022-2023/settings.json index 571ede954..f83567985 100644 --- a/config/icpc-northern-eurasia/southern-2022-2023/settings.json +++ b/config/icpc-northern-eurasia/southern-2022-2023/settings.json @@ -1,4 +1,4 @@ { "type":"pcms", - "url":"https://contest.sgu.ru/api/standings/1" + "source":"https://contest.sgu.ru/api/standings/1" } diff --git a/config/icpc-wf/2020/settings.json b/config/icpc-wf/2020/settings.json index 4cd7f2761..daf332747 100644 --- a/config/icpc-wf/2020/settings.json +++ b/config/icpc-wf/2020/settings.json @@ -2,7 +2,7 @@ "type": "clics", "feeds": [ { - "url": ".", + "source": ".", "contestId": "", "eventFeedPath": "", "feedVersion": "2020_03" diff --git a/config/icpc-wf/2021/dress/settings.json b/config/icpc-wf/2021/dress/settings.json index 1ae1fa598..3ac5dfc2f 100644 --- a/config/icpc-wf/2021/dress/settings.json +++ b/config/icpc-wf/2021/dress/settings.json @@ -2,7 +2,7 @@ "type": "clics", "feeds": [ { - "url": ".", + "source": ".", "contestId": "", "eventFeedPath": "", } diff --git a/config/icpc-wf/2021/finals/settings.json b/config/icpc-wf/2021/finals/settings.json index c1d5ac5c4..f7a89ed31 100644 --- a/config/icpc-wf/2021/finals/settings.json +++ b/config/icpc-wf/2021/finals/settings.json @@ -2,12 +2,12 @@ "type": "clics", "feeds": [ { - "url": ".", + "source": ".", "contestId": "", "eventFeedPath": "", }, { - "url": ".", + "source": ".", "eventFeedName": "commentary-messages", "contestId": "", "eventFeedPath": "", diff --git a/config/icpc-wf/2021/mock/settings.json b/config/icpc-wf/2021/mock/settings.json index 8eae8e185..aa5a14bd9 100644 --- a/config/icpc-wf/2021/mock/settings.json +++ b/config/icpc-wf/2021/mock/settings.json @@ -2,7 +2,7 @@ "type": "clics", "feeds": [ { - "url": "https://172.29.1.207:8443/api", + "source": "https://172.29.1.207:8443/api", "contestId": "mock" } ] diff --git a/config/icpc-wf/2021/pretest/settings.json b/config/icpc-wf/2021/pretest/settings.json index bc151ca29..7e5647d3c 100644 --- a/config/icpc-wf/2021/pretest/settings.json +++ b/config/icpc-wf/2021/pretest/settings.json @@ -2,7 +2,7 @@ "type": "clics", "feeds": [ { - "url": { + "source": { "url": "https://cds.storm.vu/api", "login": "live", "password": "$creds.pretest_dhaka_pass" diff --git a/config/icpc-wf/2021/systest1/settings.json b/config/icpc-wf/2021/systest1/settings.json index 421d14f6f..15181a5d9 100644 --- a/config/icpc-wf/2021/systest1/settings.json +++ b/config/icpc-wf/2021/systest1/settings.json @@ -2,7 +2,7 @@ "type": "clics", "feeds": [ { - "url": ".", + "source": ".", "contestId": "", "eventFeedPath": "" } diff --git a/config/icpc-wf/2021/systest2/settings.json b/config/icpc-wf/2021/systest2/settings.json index 421d14f6f..15181a5d9 100644 --- a/config/icpc-wf/2021/systest2/settings.json +++ b/config/icpc-wf/2021/systest2/settings.json @@ -2,7 +2,7 @@ "type": "clics", "feeds": [ { - "url": ".", + "source": ".", "contestId": "", "eventFeedPath": "" } diff --git a/config/icpc-wf/2021/test0/settings.json b/config/icpc-wf/2021/test0/settings.json index 421d14f6f..15181a5d9 100644 --- a/config/icpc-wf/2021/test0/settings.json +++ b/config/icpc-wf/2021/test0/settings.json @@ -2,7 +2,7 @@ "type": "clics", "feeds": [ { - "url": ".", + "source": ".", "contestId": "", "eventFeedPath": "" } diff --git a/config/icpc-wf/2021/test0_1/settings.json b/config/icpc-wf/2021/test0_1/settings.json index 47139b6a3..a21e1f82b 100644 --- a/config/icpc-wf/2021/test0_1/settings.json +++ b/config/icpc-wf/2021/test0_1/settings.json @@ -2,7 +2,7 @@ "type": "clics", "feeds": [ { - "url": "https://172.29.1.207:8443/api/contests/test0", + "source": "https://172.29.1.207:8443/api/contests/test0", "contestId": "", "eventFeedPath": "" } diff --git a/config/icpc-wf/2022/alpha/settings.json b/config/icpc-wf/2022/alpha/settings.json index 7d8c3c545..dfb8fc779 100644 --- a/config/icpc-wf/2022/alpha/settings.json +++ b/config/icpc-wf/2022/alpha/settings.json @@ -3,7 +3,7 @@ "network": { "allowUnsecureConnections": true }, "feeds": [ { - "url": { + "source": { "url": "https://alphacds.icpc-vcss.org:7443/api", "login": "live", "password": "$creds.alpha_cds" diff --git a/config/innopolis-open/2022-2023/final/settings.json b/config/innopolis-open/2022-2023/final/settings.json index 591a8b5a3..24140d9e2 100644 --- a/config/innopolis-open/2022-2023/final/settings.json +++ b/config/innopolis-open/2022-2023/final/settings.json @@ -1,5 +1,5 @@ { "type":"pcms", - "url":"https://pcms.university.innopolis.ru/results/innopolis/2022-2023/final-main.xml", + "source":"https://pcms.university.innopolis.ru/results/innopolis/2022-2023/final-main.xml", "resultType":"IOI" } \ No newline at end of file diff --git a/config/io-personal/2023/settings.json b/config/io-personal/2023/settings.json index 56e0aba90..2952b29c8 100644 --- a/config/io-personal/2023/settings.json +++ b/config/io-personal/2023/settings.json @@ -1,5 +1,5 @@ { "type":"pcms", - "url":"https://neerc.ifmo.ru/school/io/today/standings-personal.xml", + "source":"https://neerc.ifmo.ru/school/io/today/standings-personal.xml", "resultType":"IOI" } diff --git a/config/ioi/2023/day1/settings.json b/config/ioi/2023/day1/settings.json index 19adb6ea2..329e9d972 100644 --- a/config/ioi/2023/day1/settings.json +++ b/config/ioi/2023/day1/settings.json @@ -2,5 +2,5 @@ "type": "cms", "activeContest": "day1", "otherContests": [], - "url": "https://ranking.cmsioi2023.hu/day1_v2" + "source": "https://ranking.cmsioi2023.hu/day1_v2" } \ No newline at end of file diff --git a/config/ioi/2023/day2/settings.json b/config/ioi/2023/day2/settings.json index e3caa0335..af788ec33 100644 --- a/config/ioi/2023/day2/settings.json +++ b/config/ioi/2023/day2/settings.json @@ -2,5 +2,5 @@ "type": "cms", "activeContest": "day2", "otherContests": ["day1"], - "url": "https://ranking.cmsioi2023.hu/live" + "source": "https://ranking.cmsioi2023.hu/live" } \ No newline at end of file diff --git a/config/ioip/2022/settings.json b/config/ioip/2022/settings.json index 19e8028e9..c297f08de 100644 --- a/config/ioip/2022/settings.json +++ b/config/ioip/2022/settings.json @@ -1,5 +1,5 @@ { "type":"pcms", - "url":"https://nerc.itmo.ru/school/ioip/ioip-2022.xml", + "source":"https://nerc.itmo.ru/school/ioip/ioip-2022.xml", "resultType":"IOI" } \ No newline at end of file diff --git a/config/lscpc/2022/settings.json b/config/lscpc/2022/settings.json index f4824c86a..b79d79995 100644 --- a/config/lscpc/2022/settings.json +++ b/config/lscpc/2022/settings.json @@ -1,4 +1,4 @@ { "type":"ejudge", - "url":"https://ejudge.strategy48.ru/lscpc_external_inikoteni.xml" + "source":"https://ejudge.strategy48.ru/lscpc_external_inikoteni.xml" } diff --git a/config/mkoshp/2022/settings.json b/config/mkoshp/2022/settings.json index fad236469..e0baa24b3 100644 --- a/config/mkoshp/2022/settings.json +++ b/config/mkoshp/2022/settings.json @@ -1,4 +1,4 @@ { "type":"ejudge", - "url":"https://olympiads.ru/5wHVSnHiVb7kArvh.xml" + "source":"https://olympiads.ru/5wHVSnHiVb7kArvh.xml" } diff --git a/config/mosh/2023/1-6/settings.json b/config/mosh/2023/1-6/settings.json index fd4b36d5f..bc583271c 100644 --- a/config/mosh/2023/1-6/settings.json +++ b/config/mosh/2023/1-6/settings.json @@ -1,6 +1,6 @@ { "type":"ejudge", "resultType":"IOI", - "url":"https://olympiads.ru/eTkwBY9KRVgtLVzq/external.xml" + "source":"https://olympiads.ru/eTkwBY9KRVgtLVzq/external.xml" } diff --git a/config/mosh/2023/7-8/settings.json b/config/mosh/2023/7-8/settings.json index fce81b710..7ea0d2702 100644 --- a/config/mosh/2023/7-8/settings.json +++ b/config/mosh/2023/7-8/settings.json @@ -1,6 +1,6 @@ { "type":"ejudge", "resultType":"IOI", - "url":"https://olympiads.ru/aBXA2lMYmx3hNaZW/external.xml" + "source":"https://olympiads.ru/aBXA2lMYmx3hNaZW/external.xml" } diff --git a/config/mosh/2023/9/settings.json b/config/mosh/2023/9/settings.json index 8f2d22bf4..ab6cbb13c 100644 --- a/config/mosh/2023/9/settings.json +++ b/config/mosh/2023/9/settings.json @@ -1,6 +1,6 @@ { "type":"ejudge", "resultType":"IOI", - "url":"https://olympiads.ru/LW96bHqAIXmwH1cD/external.xml" + "source":"https://olympiads.ru/LW96bHqAIXmwH1cD/external.xml" } diff --git a/config/mosh/2023/keldysh/settings.json b/config/mosh/2023/keldysh/settings.json index e6cbfd5a6..b215d3a4a 100644 --- a/config/mosh/2023/keldysh/settings.json +++ b/config/mosh/2023/keldysh/settings.json @@ -3,5 +3,5 @@ "resultType":"IOI", //"url2":"https://olympiads.ru/aBXA2lMYmx3hNaZW/external.xml", //"url3":"https://olympiads.ru/LW96bHqAIXmwH1cD/external.xml", - "url":"https://olympiads.ru/GDUvPbXKZ6lXalSG/external.xml", + "source":"https://olympiads.ru/GDUvPbXKZ6lXalSG/external.xml", } \ No newline at end of file diff --git a/config/ptz/2023-winter/day7/settings.json b/config/ptz/2023-winter/day7/settings.json index 8a21fd35d..e4350ae7d 100644 --- a/config/ptz/2023-winter/day7/settings.json +++ b/config/ptz/2023-winter/day7/settings.json @@ -1,6 +1,6 @@ { "type":"ejudge", - "url":"http://ejudge.opencup.org/~ejudge/feed/icpccamp2023day2.xml" + "source":"http://ejudge.opencup.org/~ejudge/feed/icpccamp2023day2.xml" } diff --git a/config/regionalroi/lpk-2021-d1/settings.json b/config/regionalroi/lpk-2021-d1/settings.json index 8e4f6e8b8..919d7960d 100644 --- a/config/regionalroi/lpk-2021-d1/settings.json +++ b/config/regionalroi/lpk-2021-d1/settings.json @@ -1,5 +1,5 @@ { "type":"ejudge", "resultType":"IOI", - "url":"https://ejudge.strategy48.ru/regional-2021-d1.xml" + "source":"https://ejudge.strategy48.ru/regional-2021-d1.xml" } \ No newline at end of file diff --git a/config/regionalroi/spb-2022-d1/settings.json b/config/regionalroi/spb-2022-d1/settings.json index fae072637..a899b4926 100644 --- a/config/regionalroi/spb-2022-d1/settings.json +++ b/config/regionalroi/spb-2022-d1/settings.json @@ -1,5 +1,5 @@ { "type": "pcms", - "url": "ru-olymp-spb-2022-standings-day1-groups.xml", + "source": "ru-olymp-spb-2022-standings-day1-groups.xml", "resultType": "IOI" } diff --git a/config/regionalroi/spb-2023-d1/settings.json b/config/regionalroi/spb-2023-d1/settings.json index d24504fa6..e0e964b8b 100644 --- a/config/regionalroi/spb-2023-d1/settings.json +++ b/config/regionalroi/spb-2023-d1/settings.json @@ -1,6 +1,6 @@ { "type":"pcms", - "url":"http://nerc.itmo.ru/school/archive/2022-2023/ru-olymp-spb-2023-standings-day1.xml", + "source":"http://nerc.itmo.ru/school/archive/2022-2023/ru-olymp-spb-2023-standings-day1.xml", "resultType":"IOI" } diff --git a/config/regionalroi/spb-2023-d2/settings.json b/config/regionalroi/spb-2023-d2/settings.json index 3fba5d9e5..a12fd578c 100644 --- a/config/regionalroi/spb-2023-d2/settings.json +++ b/config/regionalroi/spb-2023-d2/settings.json @@ -1,6 +1,6 @@ { "type":"pcms", - "url":"http://nerc.itmo.ru/school/archive/2022-2023/ru-olymp-spb-2023-standings-day2.xml", + "source":"http://nerc.itmo.ru/school/archive/2022-2023/ru-olymp-spb-2023-standings-day2.xml", "resultType":"IOI" } diff --git a/config/roi/2021/settings.json b/config/roi/2021/settings.json index 7ab572759..71f74bc6e 100644 --- a/config/roi/2021/settings.json +++ b/config/roi/2021/settings.json @@ -1,6 +1,6 @@ { "type":"pcms", - "url": { + "source": { "url": "http://10.10.0.3/standings/standings-live.xml", "login":"admin", "password":"adm1n" diff --git a/config/roi/2022/day1/settings.json b/config/roi/2022/day1/settings.json index 7134d32be..34c0cdbef 100644 --- a/config/roi/2022/day1/settings.json +++ b/config/roi/2022/day1/settings.json @@ -1,5 +1,5 @@ { "type": "pcms", - "url": "standings-live-day1.xml", + "source": "standings-live-day1.xml", "resultType": "IOI" } diff --git a/config/roi/2022/day2/settings.json b/config/roi/2022/day2/settings.json index 5b328f61e..869db9c72 100644 --- a/config/roi/2022/day2/settings.json +++ b/config/roi/2022/day2/settings.json @@ -1,6 +1,6 @@ { "type":"pcms", - "url": { + "source": { "url": "http://10.10.0.3/standings/standings-live.xml", "login": "admin", "password": "adm1n" diff --git a/config/roi/2022/test/settings.json b/config/roi/2022/test/settings.json index 325d6a18d..0fe3aad91 100644 --- a/config/roi/2022/test/settings.json +++ b/config/roi/2022/test/settings.json @@ -1,6 +1,6 @@ { "type":"pcms", - "url": { + "source": { "url": "http://172.18.1.253/standings/standings-live.xml", "login": "admin", "password": "adm1n" diff --git a/config/roi/2023/day1/settings.json b/config/roi/2023/day1/settings.json index 3ff479cc8..7d4592730 100644 --- a/config/roi/2023/day1/settings.json +++ b/config/roi/2023/day1/settings.json @@ -1,5 +1,5 @@ { "type": "pcms", - "url": "day1.xml", + "source": "day1.xml", "resultType": "IOI" } \ No newline at end of file diff --git a/config/roi/2023/day2/settings.json b/config/roi/2023/day2/settings.json index b8871a9fa..500b6e799 100644 --- a/config/roi/2023/day2/settings.json +++ b/config/roi/2023/day2/settings.json @@ -1,6 +1,6 @@ { "type": "pcms", - "url": "day2.xml", + "source": "day2.xml", "resultType": "IOI", "emulation": {"speed": 10, "startTime": "now"} } diff --git a/config/roi/2023/it-sequel/settings.json b/config/roi/2023/it-sequel/settings.json index 260d56f37..be446cc1a 100644 --- a/config/roi/2023/it-sequel/settings.json +++ b/config/roi/2023/it-sequel/settings.json @@ -1,6 +1,6 @@ { "type": "pcms", - "url": "it-sequel.xml", + "source": "it-sequel.xml", "resultType": "IOI" } diff --git a/config/roi/2023/test/settings.json b/config/roi/2023/test/settings.json index 5e73d124e..d9b2ef66b 100644 --- a/config/roi/2023/test/settings.json +++ b/config/roi/2023/test/settings.json @@ -1,5 +1,5 @@ { "type": "pcms", - "url": "standings-live.xml", + "source": "standings-live.xml", "resultType": "IOI" } diff --git a/config/roi/2024/day1/settings.json b/config/roi/2024/day1/settings.json index 4413d15e2..ad5882e31 100644 --- a/config/roi/2024/day1/settings.json +++ b/config/roi/2024/day1/settings.json @@ -1,5 +1,5 @@ { "type": "pcms", "resultType": "IOI", - "url": "day1.xml" + "source": "day1.xml" } diff --git a/config/roi/2024/day2/settings.json b/config/roi/2024/day2/settings.json index 96a303202..638492e8b 100644 --- a/config/roi/2024/day2/settings.json +++ b/config/roi/2024/day2/settings.json @@ -1,5 +1,5 @@ { "type": "pcms", "resultType": "IOI", - "url": "day2.xml" + "source": "day2.xml" } diff --git a/config/spbkoshp/2022/settings.json b/config/spbkoshp/2022/settings.json index 71ddf3ef8..4ebdafbe3 100644 --- a/config/spbkoshp/2022/settings.json +++ b/config/spbkoshp/2022/settings.json @@ -1,4 +1,4 @@ { "type":"pcms", - "url":"https://nerc.itmo.ru/school/archive/2022-2023/ru-olymp-team-spb-2022-standings.xml" + "source":"https://nerc.itmo.ru/school/archive/2022-2023/ru-olymp-team-spb-2022-standings.xml" } \ No newline at end of file diff --git a/config/spbkoshp/2023/settings.json b/config/spbkoshp/2023/settings.json index 748a2ec1c..f3555ffd3 100644 --- a/config/spbkoshp/2023/settings.json +++ b/config/spbkoshp/2023/settings.json @@ -1,4 +1,4 @@ { "type":"pcms", - "url":"https://nerc.itmo.ru/school/archive/2023-2024/ru-olymp-team-spb-2023-standings.xml" + "source":"https://nerc.itmo.ru/school/archive/2023-2024/ru-olymp-team-spb-2023-standings.xml" } \ No newline at end of file diff --git a/config/spbsu/2023-may/main/settings.json b/config/spbsu/2023-may/main/settings.json index 3628d0d93..390a74ae7 100644 --- a/config/spbsu/2023-may/main/settings.json +++ b/config/spbsu/2023-may/main/settings.json @@ -1,5 +1,5 @@ { "type":"testsys", // "url":"https://nerc.itmo.ru/jm230514.dat" for resolver, - "url":"http://acm.math.spbu.ru/cgi-bin/view.pl/m230514.dat" + "source":"http://acm.math.spbu.ru/cgi-bin/view.pl/m230514.dat" } \ No newline at end of file diff --git a/config/spbsu/2023-may/trial/settings.json b/config/spbsu/2023-may/trial/settings.json index f8dbcde06..34488fc99 100644 --- a/config/spbsu/2023-may/trial/settings.json +++ b/config/spbsu/2023-may/trial/settings.json @@ -1,4 +1,4 @@ { "type":"testsys", - "url":"http://acm.math.spbu.ru/cgi-bin/view.pl/m230514p.dat" + "source":"http://acm.math.spbu.ru/cgi-bin/view.pl/m230514p.dat" } \ No newline at end of file diff --git a/config/spbsu/2023-october/settings.json b/config/spbsu/2023-october/settings.json index bc379cf05..a47b6d7b6 100644 --- a/config/spbsu/2023-october/settings.json +++ b/config/spbsu/2023-october/settings.json @@ -1,4 +1,4 @@ { "type":"testsys", - "url":"jm231015.dat" + "source":"jm231015.dat" } \ No newline at end of file diff --git a/config/vkoshp/2016/settings.json b/config/vkoshp/2016/settings.json index e44185569..0676eef35 100644 --- a/config/vkoshp/2016/settings.json +++ b/config/vkoshp/2016/settings.json @@ -1,4 +1,4 @@ { "type":"pcms", - "url":"http://nerc.itmo.ru/school/archive/2016-2017/ru-olymp-team-russia-2016-standings.xml" + "source":"http://nerc.itmo.ru/school/archive/2016-2017/ru-olymp-team-russia-2016-standings.xml" } diff --git a/config/vkoshp/2017/settings.json b/config/vkoshp/2017/settings.json index e5fb90229..0068c8f36 100644 --- a/config/vkoshp/2017/settings.json +++ b/config/vkoshp/2017/settings.json @@ -1,4 +1,4 @@ { "type":"pcms", - "url":"http://nerc.itmo.ru/school/archive/2017-2018/ru-olymp-team-russia-2017-standings.xml" + "source":"http://nerc.itmo.ru/school/archive/2017-2018/ru-olymp-team-russia-2017-standings.xml" } diff --git a/config/vkoshp/2019/settings.json b/config/vkoshp/2019/settings.json index ff1843163..d50b849a6 100644 --- a/config/vkoshp/2019/settings.json +++ b/config/vkoshp/2019/settings.json @@ -1,4 +1,4 @@ { "type":"pcms", - "url":"http://nerc.itmo.ru/school/archive/2019-2020/ru-olymp-team-russia-2019-standings.xml" + "source":"http://nerc.itmo.ru/school/archive/2019-2020/ru-olymp-team-russia-2019-standings.xml" } diff --git a/config/vkoshp/2022/settings.json b/config/vkoshp/2022/settings.json index 5e81f59ca..2f7bfed77 100644 --- a/config/vkoshp/2022/settings.json +++ b/config/vkoshp/2022/settings.json @@ -1,4 +1,4 @@ { "type":"pcms", - "url":"https://nerc.itmo.ru/school/archive/2022-2023/ru-olymp-team-russia-2022-standings.xml" + "source":"https://nerc.itmo.ru/school/archive/2022-2023/ru-olymp-team-russia-2022-standings.xml" } diff --git a/config/vkoshp/2023/settings.json b/config/vkoshp/2023/settings.json index c5f8edd48..ecc33a663 100644 --- a/config/vkoshp/2023/settings.json +++ b/config/vkoshp/2023/settings.json @@ -1,4 +1,4 @@ { "type":"pcms", - "url":"https://nerc.itmo.ru/school/archive/2023-2024/ru-olymp-team-russia-2023-standings.xml" + "source":"https://nerc.itmo.ru/school/archive/2023-2024/ru-olymp-team-russia-2023-standings.xml" } \ No newline at end of file diff --git a/config/zaoch/2023-d1/settings.json b/config/zaoch/2023-d1/settings.json index afda4e79a..c709f593c 100644 --- a/config/zaoch/2023-d1/settings.json +++ b/config/zaoch/2023-d1/settings.json @@ -1,7 +1,7 @@ { "type":"ejudge", "resultType":"IOI", - "url":"zaoch_2023_day1_external.xml", + "source":"zaoch_2023_day1_external.xml", "emulation": { "startTime": "now", "speed": 5 diff --git a/config/zaoch/2023-d2/settings.json b/config/zaoch/2023-d2/settings.json index 516215853..00e3bff95 100644 --- a/config/zaoch/2023-d2/settings.json +++ b/config/zaoch/2023-d2/settings.json @@ -1,7 +1,7 @@ { "type": "ejudge", "resultType": "IOI", - "url": "zaoch_2023_day2_external.xml", + "source": "zaoch_2023_day2_external.xml", "problemScoreLimit": { "5": 71, "8": 84 @@ -11,7 +11,7 @@ "settings": { "type": "ejudge", "resultType": "IOI", - "url": "../2023-d1/zaoch_2023_day1_external.xml" + "source": "../2023-d1/zaoch_2023_day1_external.xml" } } ], diff --git a/config/zaoch/2024-d1/settings.json b/config/zaoch/2024-d1/settings.json index 642ad9996..1c6bca665 100644 --- a/config/zaoch/2024-d1/settings.json +++ b/config/zaoch/2024-d1/settings.json @@ -1,5 +1,5 @@ { "type":"ejudge", "resultType":"IOI", - "url":"https://olympiads.ru/oQWnmnhLVEnXeZGR/external.xml" + "source":"https://olympiads.ru/oQWnmnhLVEnXeZGR/external.xml" } \ No newline at end of file diff --git a/config/zaoch/2024-d2/settings.json b/config/zaoch/2024-d2/settings.json index f0c04ca8a..9305d4a48 100644 --- a/config/zaoch/2024-d2/settings.json +++ b/config/zaoch/2024-d2/settings.json @@ -1,7 +1,7 @@ { "type":"ejudge", "resultType":"IOI", - "url":"https://olympiads.ru/68QATYQE9wM7ZkIa/external.xml", + "source":"https://olympiads.ru/68QATYQE9wM7ZkIa/external.xml", "problemScoreLimit": { "1": 86, "2": 80, @@ -13,7 +13,7 @@ "settings": { "type":"ejudge", "resultType":"IOI", - "url":"../2024-d1/external.xml", + "source":"../2024-d1/external.xml", "problemScoreLimit": { "2": 89, "4": 69 diff --git a/schemas/settings.schema.json b/schemas/settings.schema.json index 2da853399..4fa6320fc 100644 --- a/schemas/settings.schema.json +++ b/schemas/settings.schema.json @@ -196,7 +196,7 @@ "password": { "type": "string" }, - "url": { + "source": { "$ref": "#/$defs/UrlOrLocalPath" }, "cid": { @@ -223,7 +223,7 @@ "type", "login", "password", - "url", + "source", "cid" ], "title": "cats" @@ -284,7 +284,7 @@ "org.icpclive.cds.plugins.clics.ClicsFeed,kotlin.String,kotlin.String,kotlin.String?,kotlin.collections.LinkedHashMap,org.icpclive.cds.plugins.clics.FeedVersion>": { "type": "object", "properties": { - "url": { + "source": { "$ref": "#/$defs/UrlOrLocalPath" }, "contestId": { @@ -305,7 +305,7 @@ }, "additionalProperties": false, "required": [ - "url", + "source", "contestId" ] }, @@ -355,7 +355,7 @@ "const": "cms", "default": "cms" }, - "url": { + "source": { "$ref": "#/$defs/UrlOrLocalPath" }, "activeContest": { @@ -377,7 +377,7 @@ "additionalProperties": false, "required": [ "type", - "url", + "source", "activeContest", "otherContests" ], @@ -429,7 +429,7 @@ "const": "dmoj", "default": "dmoj" }, - "url": { + "source": { "$ref": "#/$defs/UrlOrLocalPath" }, "contestId": { @@ -451,7 +451,7 @@ "additionalProperties": false, "required": [ "type", - "url", + "source", "contestId", "apiKey" ], @@ -472,7 +472,7 @@ "const": "ejudge", "default": "ejudge" }, - "url": { + "source": { "$ref": "#/$defs/UrlOrLocalPath" }, "resultType": { @@ -497,7 +497,7 @@ "additionalProperties": false, "required": [ "type", - "url" + "source" ], "title": "ejudge" }, @@ -546,10 +546,10 @@ "const": "krsu", "default": "krsu" }, - "submissionsUrl": { + "submissionsSource": { "$ref": "#/$defs/UrlOrLocalPath" }, - "contestUrl": { + "contestSource": { "$ref": "#/$defs/UrlOrLocalPath" }, "timeZone": { @@ -568,8 +568,8 @@ "additionalProperties": false, "required": [ "type", - "submissionsUrl", - "contestUrl" + "submissionsSource", + "contestSource" ], "title": "krsu" }, @@ -603,8 +603,8 @@ "const": "nsu", "default": "nsu" }, - "url": { - "type": "string" + "source": { + "$ref": "#/$defs/UrlOrLocalPath" }, "olympiadId": { "type": "number" @@ -634,7 +634,7 @@ "additionalProperties": false, "required": [ "type", - "url", + "source", "olympiadId", "tourId", "email", @@ -649,10 +649,7 @@ "const": "pcms", "default": "pcms" }, - "url": { - "$ref": "#/$defs/UrlOrLocalPath" - }, - "problemsUrl": { + "source": { "$ref": "#/$defs/UrlOrLocalPath" }, "resultType": { @@ -671,7 +668,7 @@ "additionalProperties": false, "required": [ "type", - "url" + "source" ], "title": "pcms" }, @@ -682,7 +679,7 @@ "const": "testsys", "default": "testsys" }, - "url": { + "source": { "$ref": "#/$defs/UrlOrLocalPath" }, "timeZone": { @@ -701,7 +698,7 @@ "additionalProperties": false, "required": [ "type", - "url" + "source" ], "title": "testsys" }, diff --git a/src/cds/plugins/cats/api/cats.api b/src/cds/plugins/cats/api/cats.api index 95b9b0c5d..d0a950a91 100644 --- a/src/cds/plugins/cats/api/cats.api +++ b/src/cds/plugins/cats/api/cats.api @@ -3,8 +3,8 @@ public abstract interface class org/icpclive/cds/plugins/cats/CatsSettings : org public abstract fun getLogin ()Lorg/icpclive/cds/settings/Credential; public abstract fun getPassword ()Lorg/icpclive/cds/settings/Credential; public fun getResultType ()Lorg/icpclive/cds/api/ContestResultType; + public abstract fun getSource ()Lorg/icpclive/cds/settings/UrlOrLocalPath$Url; public fun getTimeZone ()Lkotlinx/datetime/TimeZone; - public abstract fun getUrl ()Lorg/icpclive/cds/settings/UrlOrLocalPath$Url; public fun toDataSource ()Lorg/icpclive/cds/ContestDataSource; } @@ -19,8 +19,8 @@ public final class org/icpclive/cds/plugins/cats/CatsSettingsBuilder : org/icpcl public fun getPassword ()Lorg/icpclive/cds/settings/Credential; public fun getPreviousDays ()Ljava/util/List; public fun getResultType ()Lorg/icpclive/cds/api/ContestResultType; + public fun getSource ()Lorg/icpclive/cds/settings/UrlOrLocalPath$Url; public fun getTimeZone ()Lkotlinx/datetime/TimeZone; - public fun getUrl ()Lorg/icpclive/cds/settings/UrlOrLocalPath$Url; public fun setCid (Ljava/lang/String;)V public fun setEmulation (Lorg/icpclive/cds/settings/EmulationSettings;)V public fun setLogin (Lorg/icpclive/cds/settings/Credential;)V @@ -28,8 +28,8 @@ public final class org/icpclive/cds/plugins/cats/CatsSettingsBuilder : org/icpcl public fun setPassword (Lorg/icpclive/cds/settings/Credential;)V public fun setPreviousDays (Ljava/util/List;)V public fun setResultType (Lorg/icpclive/cds/api/ContestResultType;)V + public fun setSource (Lorg/icpclive/cds/settings/UrlOrLocalPath$Url;)V public fun setTimeZone (Lkotlinx/datetime/TimeZone;)V - public fun setUrl (Lorg/icpclive/cds/settings/UrlOrLocalPath$Url;)V } public final class org/icpclive/cds/plugins/cats/CatsSettingsImplKt { diff --git a/src/cds/plugins/cats/src/main/kotlin/org/icpclive/cds/plugins/cats/CATSDataSource.kt b/src/cds/plugins/cats/src/main/kotlin/org/icpclive/cds/plugins/cats/CATSDataSource.kt index a0414ae37..f6fe3241b 100644 --- a/src/cds/plugins/cats/src/main/kotlin/org/icpclive/cds/plugins/cats/CATSDataSource.kt +++ b/src/cds/plugins/cats/src/main/kotlin/org/icpclive/cds/plugins/cats/CATSDataSource.kt @@ -36,7 +36,7 @@ private object SubmissionTimeSerializer : FormatterInstantSerializer(DateTimeCom public sealed interface CatsSettings : CDSSettings { public val login: Credential public val password: Credential - public val url: UrlOrLocalPath.Url + public val source: UrlOrLocalPath.Url public val cid: String public val timeZone: TimeZone get() = TimeZone.of("Asia/Vladivostok") @@ -116,12 +116,12 @@ internal class CATSDataSource(val settings: CatsSettings) : FullReloadContestDat val contest_start: Int, ) : Run() - private val authLoader = DataLoader.json(networkSettings = settings.network) { settings.url.subDir("?f=login&login=$login&passwd=$password&json=1") } - private val problemsLoader = DataLoader.json(networkSettings = settings.network) { settings.url.subDir("problems?cid=${settings.cid}&sid=${sid!!}&rows=1000&json=1") } - private val usersLoader = DataLoader.json(networkSettings = settings.network) { settings.url.subDir("users?cid=${settings.cid}&sid=${sid!!}&rows=1000&json=1") } - private val contestLoader = DataLoader.json(networkSettings = settings.network) { settings.url.subDir("contest_params?cid=${settings.cid}&sid=${sid!!}&json=1") } + private val authLoader = DataLoader.json(networkSettings = settings.network) { settings.source.subDir("?f=login&login=$login&passwd=$password&json=1") } + private val problemsLoader = DataLoader.json(networkSettings = settings.network) { settings.source.subDir("problems?cid=${settings.cid}&sid=${sid!!}&rows=1000&json=1") } + private val usersLoader = DataLoader.json(networkSettings = settings.network) { settings.source.subDir("users?cid=${settings.cid}&sid=${sid!!}&rows=1000&json=1") } + private val contestLoader = DataLoader.json(networkSettings = settings.network) { settings.source.subDir("contest_params?cid=${settings.cid}&sid=${sid!!}&json=1") } private val runsLoader = DataLoader.json>(networkSettings = settings.network) { - settings.url.subDir("console?cid=${settings.cid}&sid=${sid!!}&rows=1000&json=1&search=is_ooc%3D0&show_messages=0&show_contests=0&show_results=1") + settings.source.subDir("console?cid=${settings.cid}&sid=${sid!!}&rows=1000&json=1&search=is_ooc%3D0&show_messages=0&show_contests=0&show_results=1") } override suspend fun loadOnce(): ContestParseResult { diff --git a/src/cds/plugins/clics/api/clics.api b/src/cds/plugins/clics/api/clics.api index 793bc597d..4a8aa5987 100644 --- a/src/cds/plugins/clics/api/clics.api +++ b/src/cds/plugins/clics/api/clics.api @@ -6,7 +6,7 @@ public final class org/icpclive/cds/plugins/clics/ClicsFeed { public final fun getEventFeedName ()Ljava/lang/String; public final fun getEventFeedPath ()Ljava/lang/String; public final fun getFeedVersion ()Lorg/icpclive/cds/plugins/clics/FeedVersion; - public final fun getUrl ()Lorg/icpclive/cds/settings/UrlOrLocalPath; + public final fun getSource ()Lorg/icpclive/cds/settings/UrlOrLocalPath; public final fun getUrlPrefixMapping ()Ljava/util/Map; } diff --git a/src/cds/plugins/clics/src/main/kotlin/org/icpclive/cds/plugins/clics/ClicsDataSource.kt b/src/cds/plugins/clics/src/main/kotlin/org/icpclive/cds/plugins/clics/ClicsDataSource.kt index 34f64849a..fb54e06f4 100644 --- a/src/cds/plugins/clics/src/main/kotlin/org/icpclive/cds/plugins/clics/ClicsDataSource.kt +++ b/src/cds/plugins/clics/src/main/kotlin/org/icpclive/cds/plugins/clics/ClicsDataSource.kt @@ -24,7 +24,7 @@ public enum class FeedVersion { @Serializable public class ClicsFeed( - @Contextual public val url: UrlOrLocalPath, + @Contextual public val source: UrlOrLocalPath, public val contestId: String, public val eventFeedName: String = "event-feed", public val eventFeedPath: String? = null, @@ -39,7 +39,7 @@ public sealed interface ClicsSettings : CDSSettings { } private class ParsedClicsLoaderSettings(settings: ClicsFeed) { - val baseUrl = settings.url + val baseUrl = settings.source val eventFeedUrl = buildList { if (settings.eventFeedPath != null) { if (settings.eventFeedPath.isNotEmpty()) { diff --git a/src/cds/plugins/clics/src/test/kotlin/ClicsTest.kt b/src/cds/plugins/clics/src/test/kotlin/ClicsTest.kt index add56c026..5ba306686 100644 --- a/src/cds/plugins/clics/src/test/kotlin/ClicsTest.kt +++ b/src/cds/plugins/clics/src/test/kotlin/ClicsTest.kt @@ -15,7 +15,7 @@ object ClicsTest : CdsLoadersTest() { ClicsSettings( feeds = listOf( ClicsFeed( - url = UrlOrLocalPath.Local(testDataDir.resolve("clics-2020-03")), + source = UrlOrLocalPath.Local(testDataDir.resolve("clics-2020-03")), contestId = "", eventFeedPath = "", feedVersion = FeedVersion.`2020_03` @@ -38,7 +38,7 @@ object ClicsTest : CdsLoadersTest() { ClicsSettings( feeds = listOf( ClicsFeed( - url = UrlOrLocalPath.Local(testDataDir.resolve("clics-2022-07")), + source = UrlOrLocalPath.Local(testDataDir.resolve("clics-2022-07")), contestId = "", eventFeedPath = "", feedVersion = FeedVersion.`2022_07` diff --git a/src/cds/plugins/cms/api/cms.api b/src/cds/plugins/cms/api/cms.api index be6a5c4b4..39cd2554a 100644 --- a/src/cds/plugins/cms/api/cms.api +++ b/src/cds/plugins/cms/api/cms.api @@ -1,7 +1,7 @@ public abstract interface class org/icpclive/cds/plugins/cms/CmsSettings : org/icpclive/cds/settings/CDSSettings { public abstract fun getActiveContest ()Ljava/lang/String; public abstract fun getOtherContests ()Ljava/util/List; - public abstract fun getUrl ()Lorg/icpclive/cds/settings/UrlOrLocalPath$Url; + public abstract fun getSource ()Lorg/icpclive/cds/settings/UrlOrLocalPath$Url; public fun toDataSource ()Lorg/icpclive/cds/ContestDataSource; } @@ -14,13 +14,13 @@ public final class org/icpclive/cds/plugins/cms/CmsSettingsBuilder : org/icpcliv public fun getNetwork ()Lorg/icpclive/cds/settings/NetworkSettings; public fun getOtherContests ()Ljava/util/List; public fun getPreviousDays ()Ljava/util/List; - public fun getUrl ()Lorg/icpclive/cds/settings/UrlOrLocalPath$Url; + public fun getSource ()Lorg/icpclive/cds/settings/UrlOrLocalPath$Url; public fun setActiveContest (Ljava/lang/String;)V public fun setEmulation (Lorg/icpclive/cds/settings/EmulationSettings;)V public fun setNetwork (Lorg/icpclive/cds/settings/NetworkSettings;)V public fun setOtherContests (Ljava/util/List;)V public fun setPreviousDays (Ljava/util/List;)V - public fun setUrl (Lorg/icpclive/cds/settings/UrlOrLocalPath$Url;)V + public fun setSource (Lorg/icpclive/cds/settings/UrlOrLocalPath$Url;)V } public final class org/icpclive/cds/plugins/cms/CmsSettingsImplKt { diff --git a/src/cds/plugins/cms/src/main/kotlin/org/icpclive/cds/plugins/cms/CmsDataSoruce.kt b/src/cds/plugins/cms/src/main/kotlin/org/icpclive/cds/plugins/cms/CmsDataSoruce.kt index da8f0f604..559a38728 100644 --- a/src/cds/plugins/cms/src/main/kotlin/org/icpclive/cds/plugins/cms/CmsDataSoruce.kt +++ b/src/cds/plugins/cms/src/main/kotlin/org/icpclive/cds/plugins/cms/CmsDataSoruce.kt @@ -13,19 +13,19 @@ import kotlin.time.Duration.Companion.seconds @Builder("cms") public sealed interface CmsSettings : CDSSettings { - public val url: UrlOrLocalPath.Url + public val source: UrlOrLocalPath.Url public val activeContest: String public val otherContests: List override fun toDataSource(): ContestDataSource = CmsDataSource(this) } internal class CmsDataSource(val settings: CmsSettings) : FullReloadContestDataSource(5.seconds) { - private val contestsLoader = DataLoader.json>(settings.network, settings.url.subDir("contests/")) - private val tasksLoader = DataLoader.json>(settings.network, settings.url.subDir("/tasks/")) - private val teamsLoader = DataLoader.json>(settings.network, settings.url.subDir("/teams/")) - private val usersLoader = DataLoader.json>(settings.network, settings.url.subDir("/users/")) - private val submissionsLoader = DataLoader.json>(settings.network, settings.url.subDir("/submissions/")) - private val subchangesLoader = DataLoader.json>(settings.network, settings.url.subDir("subchanges/")) + private val contestsLoader = DataLoader.json>(settings.network, settings.source.subDir("contests/")) + private val tasksLoader = DataLoader.json>(settings.network, settings.source.subDir("/tasks/")) + private val teamsLoader = DataLoader.json>(settings.network, settings.source.subDir("/teams/")) + private val usersLoader = DataLoader.json>(settings.network, settings.source.subDir("/users/")) + private val submissionsLoader = DataLoader.json>(settings.network, settings.source.subDir("/submissions/")) + private val subchangesLoader = DataLoader.json>(settings.network, settings.source.subDir("subchanges/")) override suspend fun loadOnce(): ContestParseResult { val contests = contestsLoader.load() @@ -65,7 +65,7 @@ internal class CmsDataSource(val settings: CmsSettings) : FullReloadContestDataS id = k.toOrganizationId(), displayName = v.name, fullName = v.name, - logo = MediaType.Image(settings.url.toString()) + logo = MediaType.Image(settings.source.toString()) ) } val teams = usersLoader.load().map { (k, v) -> @@ -76,7 +76,7 @@ internal class CmsDataSource(val settings: CmsSettings) : FullReloadContestDataS groups = emptyList(), hashTag = null, medias = mapOf( - TeamMediaType.PHOTO to MediaType.Image("${settings.url}/faces/$k", true) + TeamMediaType.PHOTO to MediaType.Image("${settings.source}/faces/$k", true) ), isHidden = false, isOutOfContest = false, diff --git a/src/cds/plugins/dmoj/api/dmoj.api b/src/cds/plugins/dmoj/api/dmoj.api index 05a98f6fa..4f1d7e6b2 100644 --- a/src/cds/plugins/dmoj/api/dmoj.api +++ b/src/cds/plugins/dmoj/api/dmoj.api @@ -1,7 +1,7 @@ public abstract interface class org/icpclive/cds/plugins/dmoj/DmojSettings : org/icpclive/cds/settings/CDSSettings { public abstract fun getApiKey ()Lorg/icpclive/cds/settings/Credential; public abstract fun getContestId ()Ljava/lang/String; - public abstract fun getUrl ()Lorg/icpclive/cds/settings/UrlOrLocalPath$Url; + public abstract fun getSource ()Lorg/icpclive/cds/settings/UrlOrLocalPath$Url; public fun toDataSource ()Lorg/icpclive/cds/ContestDataSource; } @@ -14,13 +14,13 @@ public final class org/icpclive/cds/plugins/dmoj/DmojSettingsBuilder : org/icpcl public fun getEmulation ()Lorg/icpclive/cds/settings/EmulationSettings; public fun getNetwork ()Lorg/icpclive/cds/settings/NetworkSettings; public fun getPreviousDays ()Ljava/util/List; - public fun getUrl ()Lorg/icpclive/cds/settings/UrlOrLocalPath$Url; + public fun getSource ()Lorg/icpclive/cds/settings/UrlOrLocalPath$Url; public fun setApiKey (Lorg/icpclive/cds/settings/Credential;)V public fun setContestId (Ljava/lang/String;)V public fun setEmulation (Lorg/icpclive/cds/settings/EmulationSettings;)V public fun setNetwork (Lorg/icpclive/cds/settings/NetworkSettings;)V public fun setPreviousDays (Ljava/util/List;)V - public fun setUrl (Lorg/icpclive/cds/settings/UrlOrLocalPath$Url;)V + public fun setSource (Lorg/icpclive/cds/settings/UrlOrLocalPath$Url;)V } public final class org/icpclive/cds/plugins/dmoj/DmojSettingsImplKt { diff --git a/src/cds/plugins/dmoj/src/main/kotlin/org/icpclive/cds/plugins/dmoj/DmojDataSource.kt b/src/cds/plugins/dmoj/src/main/kotlin/org/icpclive/cds/plugins/dmoj/DmojDataSource.kt index b47f9a4e1..e9fbb9d7e 100644 --- a/src/cds/plugins/dmoj/src/main/kotlin/org/icpclive/cds/plugins/dmoj/DmojDataSource.kt +++ b/src/cds/plugins/dmoj/src/main/kotlin/org/icpclive/cds/plugins/dmoj/DmojDataSource.kt @@ -11,7 +11,7 @@ import kotlin.time.Duration.Companion.seconds @Builder("dmoj") public sealed interface DmojSettings : CDSSettings { - public val url: UrlOrLocalPath.Url + public val source: UrlOrLocalPath.Url public val contestId: String public val apiKey: Credential @@ -84,7 +84,7 @@ private class Submission( internal class DmojDataSource(val settings: DmojSettings) : FullReloadContestDataSource(5.seconds) { - private val apiBaseUrl = settings.url.subDir("api/v2").withBearer(settings.apiKey) + private val apiBaseUrl = settings.source.subDir("api/v2").withBearer(settings.apiKey) private val contestInfoLoader = DataLoader.json>( settings.network, diff --git a/src/cds/plugins/ejudge/api/ejudge.api b/src/cds/plugins/ejudge/api/ejudge.api index 98d49ee32..5409040a5 100644 --- a/src/cds/plugins/ejudge/api/ejudge.api +++ b/src/cds/plugins/ejudge/api/ejudge.api @@ -1,8 +1,8 @@ public abstract interface class org/icpclive/cds/plugins/ejudge/EjudgeSettings : org/icpclive/cds/settings/CDSSettings { public fun getProblemScoreLimit ()Ljava/util/Map; public fun getResultType ()Lorg/icpclive/cds/api/ContestResultType; + public abstract fun getSource ()Lorg/icpclive/cds/settings/UrlOrLocalPath; public fun getTimeZone ()Lkotlinx/datetime/TimeZone; - public abstract fun getUrl ()Lorg/icpclive/cds/settings/UrlOrLocalPath; public fun toDataSource ()Lorg/icpclive/cds/ContestDataSource; } @@ -15,15 +15,15 @@ public final class org/icpclive/cds/plugins/ejudge/EjudgeSettingsBuilder : org/i public fun getPreviousDays ()Ljava/util/List; public fun getProblemScoreLimit ()Ljava/util/Map; public fun getResultType ()Lorg/icpclive/cds/api/ContestResultType; + public fun getSource ()Lorg/icpclive/cds/settings/UrlOrLocalPath; public fun getTimeZone ()Lkotlinx/datetime/TimeZone; - public fun getUrl ()Lorg/icpclive/cds/settings/UrlOrLocalPath; public fun setEmulation (Lorg/icpclive/cds/settings/EmulationSettings;)V public fun setNetwork (Lorg/icpclive/cds/settings/NetworkSettings;)V public fun setPreviousDays (Ljava/util/List;)V public fun setProblemScoreLimit (Ljava/util/Map;)V public fun setResultType (Lorg/icpclive/cds/api/ContestResultType;)V + public fun setSource (Lorg/icpclive/cds/settings/UrlOrLocalPath;)V public fun setTimeZone (Lkotlinx/datetime/TimeZone;)V - public fun setUrl (Lorg/icpclive/cds/settings/UrlOrLocalPath;)V } public final class org/icpclive/cds/plugins/ejudge/EjudgeSettingsImplKt { diff --git a/src/cds/plugins/ejudge/src/main/kotlin/org/icpclive/cds/plugins/ejudge/EjudgeDataSource.kt b/src/cds/plugins/ejudge/src/main/kotlin/org/icpclive/cds/plugins/ejudge/EjudgeDataSource.kt index 2c7575cf9..8e301d1bf 100644 --- a/src/cds/plugins/ejudge/src/main/kotlin/org/icpclive/cds/plugins/ejudge/EjudgeDataSource.kt +++ b/src/cds/plugins/ejudge/src/main/kotlin/org/icpclive/cds/plugins/ejudge/EjudgeDataSource.kt @@ -19,7 +19,7 @@ import kotlin.time.Duration.Companion.seconds @Builder("ejudge") public sealed interface EjudgeSettings : CDSSettings { - public val url: UrlOrLocalPath + public val source: UrlOrLocalPath public val resultType: ContestResultType get() = ContestResultType.ICPC public val timeZone: TimeZone @@ -183,5 +183,5 @@ internal class EjudgeDataSource(val settings: EjudgeSettings) : FullReloadContes ) } - private val xmlLoader = DataLoader.xml(settings.network, settings.url) + private val xmlLoader = DataLoader.xml(settings.network, settings.source) } diff --git a/src/cds/plugins/ejudge/src/test/kotlin/EjudgeTest.kt b/src/cds/plugins/ejudge/src/test/kotlin/EjudgeTest.kt index 9bd4cd22c..e489187a3 100644 --- a/src/cds/plugins/ejudge/src/test/kotlin/EjudgeTest.kt +++ b/src/cds/plugins/ejudge/src/test/kotlin/EjudgeTest.kt @@ -11,7 +11,7 @@ object EjudgeTest : CdsLoadersTest() { loaderTest( goldenDataDir.resolve("ejudge.txt"), EjudgeSettings( - url = UrlOrLocalPath.Local(testDataDir.resolve("ejudge.xml")) + source = UrlOrLocalPath.Local(testDataDir.resolve("ejudge.xml")) ) ) } @@ -21,13 +21,13 @@ object EjudgeTest : CdsLoadersTest() { loaderTest( goldenDataDir.resolve("ejudgeTwoDays.txt"), EjudgeSettings( - url = UrlOrLocalPath.Local(testDataDir.resolve("ejudge-ioi-day2.xml")), + source = UrlOrLocalPath.Local(testDataDir.resolve("ejudge-ioi-day2.xml")), ) { resultType = ContestResultType.IOI previousDays = listOf( PreviousDaySettings( EjudgeSettings( - url = UrlOrLocalPath.Local(testDataDir.resolve("ejudge-ioi-day1.xml")) + source = UrlOrLocalPath.Local(testDataDir.resolve("ejudge-ioi-day1.xml")) ) { resultType = ContestResultType.IOI problemScoreLimit = mapOf( diff --git a/src/cds/plugins/krsu/api/krsu.api b/src/cds/plugins/krsu/api/krsu.api index 3e94f812d..fc488072d 100644 --- a/src/cds/plugins/krsu/api/krsu.api +++ b/src/cds/plugins/krsu/api/krsu.api @@ -1,6 +1,6 @@ public abstract interface class org/icpclive/cds/plugins/krsu/KRSUSettings : org/icpclive/cds/settings/CDSSettings { - public abstract fun getContestUrl ()Lorg/icpclive/cds/settings/UrlOrLocalPath; - public abstract fun getSubmissionsUrl ()Lorg/icpclive/cds/settings/UrlOrLocalPath; + public abstract fun getContestSource ()Lorg/icpclive/cds/settings/UrlOrLocalPath; + public abstract fun getSubmissionsSource ()Lorg/icpclive/cds/settings/UrlOrLocalPath; public fun getTimeZone ()Lkotlinx/datetime/TimeZone; public fun toDataSource ()Lorg/icpclive/cds/ContestDataSource; } @@ -9,17 +9,17 @@ public final class org/icpclive/cds/plugins/krsu/KRSUSettingsBuilder : org/icpcl public fun (Lorg/icpclive/cds/plugins/krsu/KRSUSettings;)V public fun (Lorg/icpclive/cds/settings/UrlOrLocalPath;Lorg/icpclive/cds/settings/UrlOrLocalPath;)V public final fun build ()Lorg/icpclive/cds/plugins/krsu/KRSUSettings; - public fun getContestUrl ()Lorg/icpclive/cds/settings/UrlOrLocalPath; + public fun getContestSource ()Lorg/icpclive/cds/settings/UrlOrLocalPath; public fun getEmulation ()Lorg/icpclive/cds/settings/EmulationSettings; public fun getNetwork ()Lorg/icpclive/cds/settings/NetworkSettings; public fun getPreviousDays ()Ljava/util/List; - public fun getSubmissionsUrl ()Lorg/icpclive/cds/settings/UrlOrLocalPath; + public fun getSubmissionsSource ()Lorg/icpclive/cds/settings/UrlOrLocalPath; public fun getTimeZone ()Lkotlinx/datetime/TimeZone; - public fun setContestUrl (Lorg/icpclive/cds/settings/UrlOrLocalPath;)V + public fun setContestSource (Lorg/icpclive/cds/settings/UrlOrLocalPath;)V public fun setEmulation (Lorg/icpclive/cds/settings/EmulationSettings;)V public fun setNetwork (Lorg/icpclive/cds/settings/NetworkSettings;)V public fun setPreviousDays (Ljava/util/List;)V - public fun setSubmissionsUrl (Lorg/icpclive/cds/settings/UrlOrLocalPath;)V + public fun setSubmissionsSource (Lorg/icpclive/cds/settings/UrlOrLocalPath;)V public fun setTimeZone (Lkotlinx/datetime/TimeZone;)V } diff --git a/src/cds/plugins/krsu/src/main/kotlin/org/icpclive/cds/plugins/krsu/KRSUDataSource.kt b/src/cds/plugins/krsu/src/main/kotlin/org/icpclive/cds/plugins/krsu/KRSUDataSource.kt index 16a78744b..365683c19 100644 --- a/src/cds/plugins/krsu/src/main/kotlin/org/icpclive/cds/plugins/krsu/KRSUDataSource.kt +++ b/src/cds/plugins/krsu/src/main/kotlin/org/icpclive/cds/plugins/krsu/KRSUDataSource.kt @@ -13,8 +13,8 @@ import kotlin.time.Duration.Companion.seconds @Builder("krsu") public sealed interface KRSUSettings : CDSSettings { - public val submissionsUrl: UrlOrLocalPath - public val contestUrl: UrlOrLocalPath + public val submissionsSource: UrlOrLocalPath + public val contestSource: UrlOrLocalPath public val timeZone: TimeZone get() = TimeZone.of("Asia/Bishkek") @@ -90,8 +90,8 @@ internal class KRSUDataSource(val settings: KRSUSettings) : FullReloadContestDat ) } - private val submissionsLoader = DataLoader.json>(networkSettings = settings.network) { settings.submissionsUrl } - private val contestInfoLoader = DataLoader.json(networkSettings = settings.network) { settings.contestUrl } + private val submissionsLoader = DataLoader.json>(networkSettings = settings.network) { settings.submissionsSource } + private val contestInfoLoader = DataLoader.json(networkSettings = settings.network) { settings.contestSource } companion object { private val outcomeMap = mapOf( diff --git a/src/cds/plugins/nsu/api/nsu.api b/src/cds/plugins/nsu/api/nsu.api index 534034163..b43cfd0c2 100644 --- a/src/cds/plugins/nsu/api/nsu.api +++ b/src/cds/plugins/nsu/api/nsu.api @@ -2,15 +2,15 @@ public abstract interface class org/icpclive/cds/plugins/nsu/NSUSettings : org/i public abstract fun getEmail ()Lorg/icpclive/cds/settings/Credential; public abstract fun getOlympiadId ()I public abstract fun getPassword ()Lorg/icpclive/cds/settings/Credential; + public abstract fun getSource ()Lorg/icpclive/cds/settings/UrlOrLocalPath$Url; public fun getTimeZone ()Lkotlinx/datetime/TimeZone; public abstract fun getTourId ()I - public abstract fun getUrl ()Ljava/lang/String; public fun toDataSource ()Lorg/icpclive/cds/ContestDataSource; } public final class org/icpclive/cds/plugins/nsu/NSUSettingsBuilder : org/icpclive/cds/plugins/nsu/NSUSettings { - public fun (Ljava/lang/String;IILorg/icpclive/cds/settings/Credential;Lorg/icpclive/cds/settings/Credential;)V public fun (Lorg/icpclive/cds/plugins/nsu/NSUSettings;)V + public fun (Lorg/icpclive/cds/settings/UrlOrLocalPath$Url;IILorg/icpclive/cds/settings/Credential;Lorg/icpclive/cds/settings/Credential;)V public final fun build ()Lorg/icpclive/cds/plugins/nsu/NSUSettings; public fun getEmail ()Lorg/icpclive/cds/settings/Credential; public fun getEmulation ()Lorg/icpclive/cds/settings/EmulationSettings; @@ -18,23 +18,23 @@ public final class org/icpclive/cds/plugins/nsu/NSUSettingsBuilder : org/icpcliv public fun getOlympiadId ()I public fun getPassword ()Lorg/icpclive/cds/settings/Credential; public fun getPreviousDays ()Ljava/util/List; + public fun getSource ()Lorg/icpclive/cds/settings/UrlOrLocalPath$Url; public fun getTimeZone ()Lkotlinx/datetime/TimeZone; public fun getTourId ()I - public fun getUrl ()Ljava/lang/String; public fun setEmail (Lorg/icpclive/cds/settings/Credential;)V public fun setEmulation (Lorg/icpclive/cds/settings/EmulationSettings;)V public fun setNetwork (Lorg/icpclive/cds/settings/NetworkSettings;)V public fun setOlympiadId (I)V public fun setPassword (Lorg/icpclive/cds/settings/Credential;)V public fun setPreviousDays (Ljava/util/List;)V + public fun setSource (Lorg/icpclive/cds/settings/UrlOrLocalPath$Url;)V public fun setTimeZone (Lkotlinx/datetime/TimeZone;)V public fun setTourId (I)V - public fun setUrl (Ljava/lang/String;)V } public final class org/icpclive/cds/plugins/nsu/NSUSettingsImplKt { - public static final fun NSUSettings (Ljava/lang/String;IILorg/icpclive/cds/settings/Credential;Lorg/icpclive/cds/settings/Credential;Lkotlin/jvm/functions/Function1;)Lorg/icpclive/cds/plugins/nsu/NSUSettings; - public static synthetic fun NSUSettings$default (Ljava/lang/String;IILorg/icpclive/cds/settings/Credential;Lorg/icpclive/cds/settings/Credential;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lorg/icpclive/cds/plugins/nsu/NSUSettings; + public static final fun NSUSettings (Lorg/icpclive/cds/settings/UrlOrLocalPath$Url;IILorg/icpclive/cds/settings/Credential;Lorg/icpclive/cds/settings/Credential;Lkotlin/jvm/functions/Function1;)Lorg/icpclive/cds/plugins/nsu/NSUSettings; + public static synthetic fun NSUSettings$default (Lorg/icpclive/cds/settings/UrlOrLocalPath$Url;IILorg/icpclive/cds/settings/Credential;Lorg/icpclive/cds/settings/Credential;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lorg/icpclive/cds/plugins/nsu/NSUSettings; public static final fun copy (Lorg/icpclive/cds/plugins/nsu/NSUSettings;Lkotlin/jvm/functions/Function1;)Lorg/icpclive/cds/plugins/nsu/NSUSettings; public static synthetic fun copy$default (Lorg/icpclive/cds/plugins/nsu/NSUSettings;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lorg/icpclive/cds/plugins/nsu/NSUSettings; } diff --git a/src/cds/plugins/nsu/src/main/kotlin/org/icpclive/cds/plugins/nsu/NSUDataSource.kt b/src/cds/plugins/nsu/src/main/kotlin/org/icpclive/cds/plugins/nsu/NSUDataSource.kt index 44607f1fa..46304b367 100644 --- a/src/cds/plugins/nsu/src/main/kotlin/org/icpclive/cds/plugins/nsu/NSUDataSource.kt +++ b/src/cds/plugins/nsu/src/main/kotlin/org/icpclive/cds/plugins/nsu/NSUDataSource.kt @@ -15,16 +15,15 @@ import kotlinx.serialization.json.* import org.icpclive.cds.* import org.icpclive.cds.api.* import org.icpclive.ksp.cds.Builder -import org.icpclive.cds.settings.CDSSettings -import org.icpclive.cds.settings.Credential import org.icpclive.cds.ktor.* +import org.icpclive.cds.settings.* import kotlin.time.Duration import kotlin.time.Duration.Companion.seconds @Builder("nsu") public sealed interface NSUSettings : CDSSettings { - public val url: String + public val source: UrlOrLocalPath.Url public val olympiadId: Int public val tourId: Int public val email: Credential @@ -67,12 +66,12 @@ internal class NSUDataSource(val settings: NSUSettings) : FullReloadContestDataS override suspend fun loadOnce(): ContestParseResult { val queueLimit = 999999 - val loginUrl = "${settings.url}/api/login" - val selectOlympiadUrl = "${settings.url}/api/olympiads/enter" - val selectTourUrl = "${settings.url}/api/tours/enter?tour=${settings.tourId}" - val submissionsUrl = "${settings.url}/api/queue/submissions?limit=" + queueLimit.toString() - val filtersUrl = "${settings.url}/api/queue/filters" - val ratingUrl = "${settings.url}/api/rating/rating?showFrozen=0" + val loginUrl = "${settings.source}/api/login" + val selectOlympiadUrl = "${settings.source}/api/olympiads/enter" + val selectTourUrl = "${settings.source}/api/tours/enter?tour=${settings.tourId}" + val submissionsUrl = "${settings.source}/api/queue/submissions?limit=" + queueLimit.toString() + val filtersUrl = "${settings.source}/api/queue/filters" + val ratingUrl = "${settings.source}/api/rating/rating?showFrozen=0" httpClient.post(loginUrl) { diff --git a/src/cds/plugins/pcms/api/pcms.api b/src/cds/plugins/pcms/api/pcms.api index 8340d0290..da575279d 100644 --- a/src/cds/plugins/pcms/api/pcms.api +++ b/src/cds/plugins/pcms/api/pcms.api @@ -1,7 +1,6 @@ public abstract interface class org/icpclive/cds/plugins/pcms/PCMSSettings : org/icpclive/cds/settings/CDSSettings { - public fun getProblemsUrl ()Lorg/icpclive/cds/settings/UrlOrLocalPath; public fun getResultType ()Lorg/icpclive/cds/api/ContestResultType; - public abstract fun getUrl ()Lorg/icpclive/cds/settings/UrlOrLocalPath; + public abstract fun getSource ()Lorg/icpclive/cds/settings/UrlOrLocalPath; public fun toDataSource ()Lorg/icpclive/cds/ContestDataSource; } @@ -12,15 +11,13 @@ public final class org/icpclive/cds/plugins/pcms/PCMSSettingsBuilder : org/icpcl public fun getEmulation ()Lorg/icpclive/cds/settings/EmulationSettings; public fun getNetwork ()Lorg/icpclive/cds/settings/NetworkSettings; public fun getPreviousDays ()Ljava/util/List; - public fun getProblemsUrl ()Lorg/icpclive/cds/settings/UrlOrLocalPath; public fun getResultType ()Lorg/icpclive/cds/api/ContestResultType; - public fun getUrl ()Lorg/icpclive/cds/settings/UrlOrLocalPath; + public fun getSource ()Lorg/icpclive/cds/settings/UrlOrLocalPath; public fun setEmulation (Lorg/icpclive/cds/settings/EmulationSettings;)V public fun setNetwork (Lorg/icpclive/cds/settings/NetworkSettings;)V public fun setPreviousDays (Ljava/util/List;)V - public fun setProblemsUrl (Lorg/icpclive/cds/settings/UrlOrLocalPath;)V public fun setResultType (Lorg/icpclive/cds/api/ContestResultType;)V - public fun setUrl (Lorg/icpclive/cds/settings/UrlOrLocalPath;)V + public fun setSource (Lorg/icpclive/cds/settings/UrlOrLocalPath;)V } public final class org/icpclive/cds/plugins/pcms/PCMSSettingsImplKt { diff --git a/src/cds/plugins/pcms/src/main/kotlin/org/icpclive/cds/plugins/pcms/PCMSDataSource.kt b/src/cds/plugins/pcms/src/main/kotlin/org/icpclive/cds/plugins/pcms/PCMSDataSource.kt index 7295d339f..7123f8690 100644 --- a/src/cds/plugins/pcms/src/main/kotlin/org/icpclive/cds/plugins/pcms/PCMSDataSource.kt +++ b/src/cds/plugins/pcms/src/main/kotlin/org/icpclive/cds/plugins/pcms/PCMSDataSource.kt @@ -17,9 +17,7 @@ import kotlin.time.Duration.Companion.seconds @Builder("pcms") public sealed interface PCMSSettings : CDSSettings { - public val url: UrlOrLocalPath - public val problemsUrl: UrlOrLocalPath? - get() = null + public val source: UrlOrLocalPath public val resultType: ContestResultType get() = ContestResultType.ICPC @@ -27,26 +25,24 @@ public sealed interface PCMSSettings : CDSSettings { } internal class PCMSDataSource(val settings: PCMSSettings) : FullReloadContestDataSource(5.seconds) { - private val dataLoader = DataLoader.xml(settings.network) { settings.url } + private val dataLoader = DataLoader.xml(settings.network) { settings.source } private val resultType = settings.resultType private var startTime = Instant.fromEpochMilliseconds(0) override suspend fun loadOnce(): ContestParseResult { - val problemsOverride = settings.problemsUrl?.let { loadCustomProblems(it) } - - return parseAndUpdateStandings(dataLoader.load().documentElement, problemsOverride) + return parseAndUpdateStandings(dataLoader.load().documentElement) } - private fun parseAndUpdateStandings(element: Element, problemsOverride: Element?) = - parseContestInfo(element.child("contest"), problemsOverride) + private fun parseAndUpdateStandings(element: Element) = + parseContestInfo(element.child("contest")) private suspend fun loadCustomProblems(problemsUrl: UrlOrLocalPath): Element { val problemsLoader = DataLoader.xml(networkSettings = settings.network) { problemsUrl } return problemsLoader.load().documentElement } - private fun parseContestInfo(element: Element, problemsOverride: Element?): ContestParseResult { + private fun parseContestInfo(element: Element): ContestParseResult { val status = ContestStatus.valueOf(element.getAttribute("status").uppercase(Locale.getDefault())) val contestTime = element.getAttribute("time").toLong().milliseconds val contestLength = element.getAttribute("length").toInt().milliseconds @@ -55,7 +51,7 @@ internal class PCMSDataSource(val settings: PCMSSettings) : FullReloadContestDat } val freezeTime = if (resultType == ContestResultType.ICPC) contestLength - 1.hours else contestLength - val problemsElement = problemsOverride ?: element.child("challenge") + val problemsElement = element.child("challenge") val problems = problemsElement .children("problem") diff --git a/src/cds/plugins/pcms/src/test/kotlin/PCMSTest.kt b/src/cds/plugins/pcms/src/test/kotlin/PCMSTest.kt index 0ebe43548..3934c3545 100644 --- a/src/cds/plugins/pcms/src/test/kotlin/PCMSTest.kt +++ b/src/cds/plugins/pcms/src/test/kotlin/PCMSTest.kt @@ -13,7 +13,7 @@ object PCMSTest : CdsLoadersTest() { loaderTest( goldenDataDir.resolve("pcms.txt"), PCMSSettings( - url = UrlOrLocalPath.Local(testDataDir.resolve("pcms.xml")) + source = UrlOrLocalPath.Local(testDataDir.resolve("pcms.xml")) ), AdvancedProperties(startTime = Instant.fromEpochSeconds(1670397300)) ) @@ -24,7 +24,7 @@ object PCMSTest : CdsLoadersTest() { loaderTest( goldenDataDir.resolve("pcmsIOI.txt"), PCMSSettings( - url = UrlOrLocalPath.Local(testDataDir.resolve("pcms-ioi.xml")) + source = UrlOrLocalPath.Local(testDataDir.resolve("pcms-ioi.xml")) ) { resultType = ContestResultType.IOI }, @@ -37,7 +37,7 @@ object PCMSTest : CdsLoadersTest() { loaderTest( goldenDataDir.resolve("pcmsLegacy.txt"), PCMSSettings( - url = UrlOrLocalPath.Local(testDataDir.resolve("pcms-legacy.xml")) + source = UrlOrLocalPath.Local(testDataDir.resolve("pcms-legacy.xml")) ), AdvancedProperties(startTime = Instant.fromEpochSeconds(1449385200)) ) diff --git a/src/cds/plugins/testsys/api/testsys.api b/src/cds/plugins/testsys/api/testsys.api index 2d37c0c1e..f221aae63 100644 --- a/src/cds/plugins/testsys/api/testsys.api +++ b/src/cds/plugins/testsys/api/testsys.api @@ -1,6 +1,6 @@ public abstract interface class org/icpclive/cds/plugins/testsys/TestSysSettings : org/icpclive/cds/settings/CDSSettings { + public abstract fun getSource ()Lorg/icpclive/cds/settings/UrlOrLocalPath; public fun getTimeZone ()Lkotlinx/datetime/TimeZone; - public abstract fun getUrl ()Lorg/icpclive/cds/settings/UrlOrLocalPath; public fun toDataSource ()Lorg/icpclive/cds/ContestDataSource; } @@ -11,13 +11,13 @@ public final class org/icpclive/cds/plugins/testsys/TestSysSettingsBuilder : org public fun getEmulation ()Lorg/icpclive/cds/settings/EmulationSettings; public fun getNetwork ()Lorg/icpclive/cds/settings/NetworkSettings; public fun getPreviousDays ()Ljava/util/List; + public fun getSource ()Lorg/icpclive/cds/settings/UrlOrLocalPath; public fun getTimeZone ()Lkotlinx/datetime/TimeZone; - public fun getUrl ()Lorg/icpclive/cds/settings/UrlOrLocalPath; public fun setEmulation (Lorg/icpclive/cds/settings/EmulationSettings;)V public fun setNetwork (Lorg/icpclive/cds/settings/NetworkSettings;)V public fun setPreviousDays (Ljava/util/List;)V + public fun setSource (Lorg/icpclive/cds/settings/UrlOrLocalPath;)V public fun setTimeZone (Lkotlinx/datetime/TimeZone;)V - public fun setUrl (Lorg/icpclive/cds/settings/UrlOrLocalPath;)V } public final class org/icpclive/cds/plugins/testsys/TestSysSettingsImplKt { diff --git a/src/cds/plugins/testsys/src/main/kotlin/org/icpclive/cds/plugins/testsys/TestSysDataSource.kt b/src/cds/plugins/testsys/src/main/kotlin/org/icpclive/cds/plugins/testsys/TestSysDataSource.kt index ef3f5989f..a93e7f1ff 100644 --- a/src/cds/plugins/testsys/src/main/kotlin/org/icpclive/cds/plugins/testsys/TestSysDataSource.kt +++ b/src/cds/plugins/testsys/src/main/kotlin/org/icpclive/cds/plugins/testsys/TestSysDataSource.kt @@ -14,7 +14,7 @@ import kotlin.time.Duration.Companion.seconds @Builder("testsys") public sealed interface TestSysSettings : CDSSettings { - public val url: UrlOrLocalPath + public val source: UrlOrLocalPath public val timeZone: TimeZone get() = TimeZone.of("Europe/Moscow") @@ -22,7 +22,7 @@ public sealed interface TestSysSettings : CDSSettings { } internal class TestSysDataSource(val settings: TestSysSettings) : FullReloadContestDataSource(5.seconds) { - private val loader = DataLoader.byteArray(settings.network, settings.url) + private val loader = DataLoader.byteArray(settings.network, settings.source) .map { val eofPosition = it.indexOf(EOF) String( diff --git a/src/cds/plugins/testsys/src/test/kotlin/TestSysTest.kt b/src/cds/plugins/testsys/src/test/kotlin/TestSysTest.kt index ab7f71d68..3d0f54f42 100644 --- a/src/cds/plugins/testsys/src/test/kotlin/TestSysTest.kt +++ b/src/cds/plugins/testsys/src/test/kotlin/TestSysTest.kt @@ -12,7 +12,7 @@ object TestSysTest : CdsLoadersTest() { loaderTest( goldenDataDir.resolve("testSys.txt"), TestSysSettings( - url = UrlOrLocalPath.Local(testDataDir.resolve("testsys.dat")) + source = UrlOrLocalPath.Local(testDataDir.resolve("testsys.dat")) ) ) } @@ -22,7 +22,7 @@ object TestSysTest : CdsLoadersTest() { loaderTest( goldenDataDir.resolve("testSysWithAdvancedOverride.txt"), TestSysSettings( - url = UrlOrLocalPath.Local(testDataDir.resolve("testsys.dat")) + source = UrlOrLocalPath.Local(testDataDir.resolve("testsys.dat")) ), AdvancedProperties( teamNameRegexes = TeamRegexOverrides(