From 8611a7a2cc4f4926b0b0d468d0c35457c03dbeb8 Mon Sep 17 00:00:00 2001 From: Pavel Kunyavskiy Date: Sat, 29 Jul 2023 23:12:58 +0200 Subject: [PATCH 1/2] Fix private contest on codeforces --- .../org/icpclive/cds/codeforces/CFDataSource.kt | 15 ++++++++++++--- .../org/icpclive/cds/settings/CDSSettings.kt | 2 ++ 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/codeforces/CFDataSource.kt b/src/cds/src/main/kotlin/org/icpclive/cds/codeforces/CFDataSource.kt index 5729b8f58..27afdbe0d 100644 --- a/src/cds/src/main/kotlin/org/icpclive/cds/codeforces/CFDataSource.kt +++ b/src/cds/src/main/kotlin/org/icpclive/cds/codeforces/CFDataSource.kt @@ -35,7 +35,10 @@ internal class CFDataSource(val settings: CFSettings, creds: Map private val standingsLoader = jsonLoader> { apiRequestUrl( "contest.standings", - mapOf("contestId" to settings.contestId.toString()) + mapOf( + "contestId" to settings.contestId.toString(), + "asManager" to settings.asManager.toString() + ) ) }.map { it.unwrap() @@ -44,7 +47,10 @@ internal class CFDataSource(val settings: CFSettings, creds: Map private val statusLoader = jsonLoader>> { apiRequestUrl( "contest.status", - mapOf("contestId" to settings.contestId.toString()) + mapOf( + "contestId" to settings.contestId.toString(), + "asManager" to settings.asManager.toString() + ) ) }.map { it.unwrap() @@ -53,7 +59,10 @@ internal class CFDataSource(val settings: CFSettings, creds: Map private val hacksLoader = jsonLoader>> { apiRequestUrl( "contest.hacks", - mapOf("contestId" to settings.contestId.toString()) + mapOf( + "contestId" to settings.contestId.toString(), + "asManager" to settings.asManager.toString() + ) ) }.map { it.unwrap() diff --git a/src/cds/src/main/kotlin/org/icpclive/cds/settings/CDSSettings.kt b/src/cds/src/main/kotlin/org/icpclive/cds/settings/CDSSettings.kt index d4b206a41..36c11aa16 100644 --- a/src/cds/src/main/kotlin/org/icpclive/cds/settings/CDSSettings.kt +++ b/src/cds/src/main/kotlin/org/icpclive/cds/settings/CDSSettings.kt @@ -27,6 +27,7 @@ import org.icpclive.util.HumanTimeSerializer import org.icpclive.util.TimeZoneSerializer import org.icpclive.util.getLogger import java.nio.file.Path +import javax.swing.text.StyledEditorKit.BoldAction // I'd like to have them in cds files, but then serializing would be much harder @@ -147,6 +148,7 @@ class CFSettings( val contestId: Int, val apiKey: Credential, val apiSecret: Credential, + val asManager: Boolean = true, override val emulation: EmulationSettings? = null, ) : CDSSettings() { override fun toRawDataSource(creds: Map) = CFDataSource(this, creds) From 1876d90484ee30365a3c1bcbdd03982174d8a3c5 Mon Sep 17 00:00:00 2001 From: Pavel Kunyavskiy Date: Sat, 29 Jul 2023 23:17:35 +0200 Subject: [PATCH 2/2] Update doc --- .../-advanced-properties.html | 2 +- .../-advanced-properties/index.html | 2 +- .../-advanced-properties/start-time.html | 2 +- .../-group-info-override.html | 2 +- .../-group-info-override/index.html | 2 +- .../-group-info-override/is-hidden.html | 2 +- .../is-out-of-contest.html | 2 +- .../-problem-info-override.html | 2 +- .../-problem-info-override/index.html | 2 +- .../score-merge-mode.html | 2 +- .../-c-d-s-settings/emulation.html | 2 +- .../-c-d-s-settings/index.html | 2 +- .../-c-d-s-settings/to-flow.html | 2 +- .../-c-d-s-settings/to-string.html | 2 +- .../-c-f-settings/-c-f-settings.html | 4 ++-- .../-c-f-settings/api-key.html | 2 +- .../-c-f-settings/api-secret.html | 2 +- .../-c-f-settings/contest-id.html | 2 +- .../-c-f-settings/emulation.html | 2 +- .../-c-f-settings/index.html | 23 +++++++++++++++---- .../-cats-settings/-cats-settings.html | 2 +- .../-cats-settings/cid.html | 2 +- .../-cats-settings/emulation.html | 2 +- .../-cats-settings/index.html | 2 +- .../-cats-settings/login.html | 2 +- .../-cats-settings/password.html | 2 +- .../-cats-settings/result-type.html | 2 +- .../-cats-settings/time-zone.html | 2 +- .../-cats-settings/url.html | 2 +- .../-clics-loader-settings.html | 2 +- .../event-feed-name.html | 2 +- .../-clics-loader-settings/feed-version.html | 2 +- .../-clics-loader-settings/index.html | 2 +- .../-clics-loader-settings/login.html | 2 +- .../-clics-loader-settings/password.html | 2 +- .../-clics-loader-settings/url.html | 2 +- .../-clics-settings/-clics-settings.html | 2 +- .../-clics-settings/additional-feed.html | 2 +- .../-clics-settings/emulation.html | 2 +- .../-clics-settings/index.html | 2 +- .../-clics-settings/main-feed.html | 2 +- .../-clics-settings/media-base-url.html | 2 +- .../-clics-settings/use-team-names.html | 2 +- .../-credential/-credential.html | 2 +- .../-credential/get.html | 2 +- .../-credential/index.html | 2 +- .../-ejudge-settings/-ejudge-settings.html | 2 +- .../-ejudge-settings/emulation.html | 2 +- .../-ejudge-settings/index.html | 2 +- .../-ejudge-settings/result-type.html | 2 +- .../-ejudge-settings/url.html | 2 +- .../-emulation-settings.html | 2 +- .../-emulation-settings/index.html | 2 +- .../-emulation-settings/speed.html | 2 +- .../-emulation-settings/start-time.html | 2 +- .../-k-r-s-u-settings/-k-r-s-u-settings.html | 2 +- .../-k-r-s-u-settings/contest-url.html | 2 +- .../-k-r-s-u-settings/emulation.html | 2 +- .../-k-r-s-u-settings/index.html | 2 +- .../-k-r-s-u-settings/submissions-url.html | 2 +- .../-k-r-s-u-settings/time-zone.html | 2 +- .../-noop-settings/-noop-settings.html | 2 +- .../-noop-settings/emulation.html | 2 +- .../-noop-settings/index.html | 2 +- .../-p-c-m-s-settings/-p-c-m-s-settings.html | 2 +- .../-p-c-m-s-settings/emulation.html | 2 +- .../-p-c-m-s-settings/index.html | 2 +- .../-p-c-m-s-settings/login.html | 2 +- .../-p-c-m-s-settings/password.html | 2 +- .../-p-c-m-s-settings/problems-url.html | 2 +- .../-p-c-m-s-settings/result-type.html | 2 +- .../-p-c-m-s-settings/url.html | 2 +- .../-test-sys-settings.html | 2 +- .../-test-sys-settings/emulation.html | 2 +- .../-test-sys-settings/index.html | 2 +- .../-test-sys-settings/time-zone.html | 2 +- .../-test-sys-settings/url.html | 2 +- .../-yandex-settings/-yandex-settings.html | 2 +- .../-yandex-settings/api-key.html | 2 +- .../-yandex-settings/contest-id.html | 2 +- .../-yandex-settings/emulation.html | 2 +- .../-yandex-settings/index.html | 2 +- .../-yandex-settings/login-regex.html | 2 +- .../-yandex-settings/result-type.html | 2 +- .../org.icpclive.cds.settings/index.html | 2 +- .../parse-file-to-cds-settings.html | 2 +- .../package-list | 3 ++- docs/cds/scripts/pages.json | 2 +- 88 files changed, 108 insertions(+), 92 deletions(-) diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/-advanced-properties.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/-advanced-properties.html index f58773f65..1c653c9b1 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/-advanced-properties.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/-advanced-properties.html @@ -59,7 +59,7 @@

AdvancedProperties

-
constructor(startTime: Instant? = null, freezeTime: Duration? = null, holdTime: Duration? = null, teamMediaTemplate: Map<TeamMediaType, MediaType?>? = null, teamOverrides: Map<String, TeamInfoOverride>? = null, groupOverrides: Map<String, GroupInfoOverride>? = null, problemOverrides: Map<String, ProblemInfoOverride>? = null, scoreboardOverrides: RankingSettings? = null)(source)

Parameters

startTime

Override for contest start time. The preferred format is yyyy-mm-dd hh:mm:ss, but some others would be accepted too. Conside using 'now' if you want the contest emulation to start together with the overlay. startTime overrise also can affect contest state.

freezeTime

Time from the start of the contest before scoreboard freezing.

holdTime

Fixed time to show as time before the contest start

teamMediaTemplate

Template medias for all teams. You can use {teamId} within the template, it will be substituted with team id from contest system.

teamOverrides

Overrides for a specific team. Team id from the contest system is key.

groupOverrides

Overrides for specific groups. Group name is key.

problemOverrides

Overrides for specific problems. Problem letter is key.

scoreboardOverrides

Overrides of scoreboard calculation settings

+
constructor(startTime: Instant? = null, freezeTime: Duration? = null, holdTime: Duration? = null, teamMediaTemplate: Map<TeamMediaType, MediaType?>? = null, teamOverrides: Map<String, TeamInfoOverride>? = null, groupOverrides: Map<String, GroupInfoOverride>? = null, problemOverrides: Map<String, ProblemInfoOverride>? = null, scoreboardOverrides: RankingSettings? = null)(source)

Parameters

startTime

Override for contest start time. The preferred format is yyyy-mm-dd hh:mm:ss, but some others would be accepted too. Consider using 'now' if you want the contest emulation to start together with the overlay. startTime overrise also can affect contest state.

freezeTime

Time from the start of the contest before scoreboard freezing.

holdTime

Fixed time to show as time before the contest start

teamMediaTemplate

Template medias for all teams. You can use {teamId} within the template, it will be substituted with team id from contest system.

teamOverrides

Overrides for a specific team. Team id from the contest system is key.

groupOverrides

Overrides for specific groups. Group name is key.

problemOverrides

Overrides for specific problems. Problem letter is key.

scoreboardOverrides

Overrides of scoreboard calculation settings

AdvancedProperties

-
@Serializable
data class AdvancedProperties(val startTime: Instant? = null, val freezeTime: Duration? = null, val holdTime: Duration? = null, val teamMediaTemplate: Map<TeamMediaType, MediaType?>? = null, val teamOverrides: Map<String, TeamInfoOverride>? = null, val groupOverrides: Map<String, GroupInfoOverride>? = null, val problemOverrides: Map<String, ProblemInfoOverride>? = null, val scoreboardOverrides: RankingSettings? = null)(source)

This class represents possible contest configuration overrides.

Ideally, all this information should be received from the contest system. Unfortunately, in the real world, it's not always possible, or information can be not fully correct or convenient to display.

This class contains the data to be fixed in what is received from a contest system.

Parameters

startTime

Override for contest start time. The preferred format is yyyy-mm-dd hh:mm:ss, but some others would be accepted too. Conside using 'now' if you want the contest emulation to start together with the overlay. startTime overrise also can affect contest state.

freezeTime

Time from the start of the contest before scoreboard freezing.

holdTime

Fixed time to show as time before the contest start

teamMediaTemplate

Template medias for all teams. You can use {teamId} within the template, it will be substituted with team id from contest system.

teamOverrides

Overrides for a specific team. Team id from the contest system is key.

groupOverrides

Overrides for specific groups. Group name is key.

problemOverrides

Overrides for specific problems. Problem letter is key.

scoreboardOverrides

Overrides of scoreboard calculation settings

+
@Serializable
data class AdvancedProperties(val startTime: Instant? = null, val freezeTime: Duration? = null, val holdTime: Duration? = null, val teamMediaTemplate: Map<TeamMediaType, MediaType?>? = null, val teamOverrides: Map<String, TeamInfoOverride>? = null, val groupOverrides: Map<String, GroupInfoOverride>? = null, val problemOverrides: Map<String, ProblemInfoOverride>? = null, val scoreboardOverrides: RankingSettings? = null)(source)

This class represents possible contest configuration overrides.

Ideally, all this information should be received from the contest system. Unfortunately, in the real world, it's not always possible, or information can be not fully correct or convenient to display.

This class contains the data to be fixed in what is received from a contest system.

Parameters

startTime

Override for contest start time. The preferred format is yyyy-mm-dd hh:mm:ss, but some others would be accepted too. Consider using 'now' if you want the contest emulation to start together with the overlay. startTime overrise also can affect contest state.

freezeTime

Time from the start of the contest before scoreboard freezing.

holdTime

Fixed time to show as time before the contest start

teamMediaTemplate

Template medias for all teams. You can use {teamId} within the template, it will be substituted with team id from contest system.

teamOverrides

Overrides for a specific team. Team id from the contest system is key.

groupOverrides

Overrides for specific groups. Group name is key.

problemOverrides

Overrides for specific problems. Problem letter is key.

scoreboardOverrides

Overrides of scoreboard calculation settings

diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/start-time.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/start-time.html index 69aab8acb..4412a8b5d 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/start-time.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-advanced-properties/start-time.html @@ -59,7 +59,7 @@

startTime

-
@Serializable(with = HumanTimeSerializer::class)
val startTime: Instant? = null(source)

Parameters

startTime

Override for contest start time. The preferred format is yyyy-mm-dd hh:mm:ss, but some others would be accepted too. Conside using 'now' if you want the contest emulation to start together with the overlay. startTime overrise also can affect contest state.

+
@Serializable(with = HumanTimeSerializer::class)
val startTime: Instant? = null(source)

Parameters

startTime

Override for contest start time. The preferred format is yyyy-mm-dd hh:mm:ss, but some others would be accepted too. Consider using 'now' if you want the contest emulation to start together with the overlay. startTime overrise also can affect contest state.

-
constructor(isHidden: Boolean? = null, isOutOfContest: Boolean? = null)(source)

Parameters

isHidden

Totally hide all teams from the group

isOutOfContest

Don't get rank in the scoreboard to all teams from the group

+
constructor(isHidden: Boolean? = null, isOutOfContest: Boolean? = null)(source)

Parameters

isHidden

Totally hide all teams from this group

isOutOfContest

Teams from this group will be visible everywhere, but will not have any rank assigned to them in leaderboard

GroupInfoOverride

-
@Serializable
data class GroupInfoOverride(val isHidden: Boolean? = null, val isOutOfContest: Boolean? = null)(source)

Parameters

isHidden

Totally hide all teams from the group

isOutOfContest

Don't get rank in the scoreboard to all teams from the group

+
@Serializable
data class GroupInfoOverride(val isHidden: Boolean? = null, val isOutOfContest: Boolean? = null)(source)

Parameters

isHidden

Totally hide all teams from this group

isOutOfContest

Teams from this group will be visible everywhere, but will not have any rank assigned to them in leaderboard

diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-group-info-override/is-hidden.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-group-info-override/is-hidden.html index c1cd401b2..b1d94f32c 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-group-info-override/is-hidden.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-group-info-override/is-hidden.html @@ -59,7 +59,7 @@

isHidden

-
val isHidden: Boolean? = null(source)

Parameters

isHidden

Totally hide all teams from the group

+
val isHidden: Boolean? = null(source)

Parameters

isHidden

Totally hide all teams from this group

-

Parameters

isOutOfContest

Don't get rank in the scoreboard to all teams from the group

+

Parameters

isOutOfContest

Teams from this group will be visible everywhere, but will not have any rank assigned to them in leaderboard

-
constructor(name: String? = null, color: Color? = null, minScore: Double? = null, maxScore: Double? = null, scoreMergeMode: ScoreMergeMode? = null)(source)

Parameters

name

Problem name.

color

Color of a problem balloon. It would be shown in queue and scoreboard in places related to the problem

minScore

In ioi mode minimal possible value of points in this problem

maxScore

In ioi mode maximal possible value of points in this problem

scoreMergeMode

In ioi mode, it determinate how final points for participant are calculated from points of many submissions.

+
constructor(name: String? = null, color: Color? = null, minScore: Double? = null, maxScore: Double? = null, scoreMergeMode: ScoreMergeMode? = null)(source)

Parameters

name

Problem name.

color

Color of a problem balloon. It would be shown in queue and scoreboard in places related to the problem

minScore

In ioi mode minimal possible value of points in this problem

maxScore

In ioi mode maximal possible value of points in this problem

scoreMergeMode

In ioi mode, select the ruleset to calculate final score based on the scores for each submission.

ProblemInfoOverride

-
@Serializable
data class ProblemInfoOverride(val name: String? = null, val color: Color? = null, val minScore: Double? = null, val maxScore: Double? = null, val scoreMergeMode: ScoreMergeMode? = null)(source)

Parameters

name

Problem name.

color

Color of a problem balloon. It would be shown in queue and scoreboard in places related to the problem

minScore

In ioi mode minimal possible value of points in this problem

maxScore

In ioi mode maximal possible value of points in this problem

scoreMergeMode

In ioi mode, it determinate how final points for participant are calculated from points of many submissions.

+
@Serializable
data class ProblemInfoOverride(val name: String? = null, val color: Color? = null, val minScore: Double? = null, val maxScore: Double? = null, val scoreMergeMode: ScoreMergeMode? = null)(source)

Parameters

name

Problem name.

color

Color of a problem balloon. It would be shown in queue and scoreboard in places related to the problem

minScore

In ioi mode minimal possible value of points in this problem

maxScore

In ioi mode maximal possible value of points in this problem

scoreMergeMode

In ioi mode, select the ruleset to calculate final score based on the scores for each submission.

diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/score-merge-mode.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/score-merge-mode.html index e33672b3b..bbb309691 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/score-merge-mode.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.api.tunning/-problem-info-override/score-merge-mode.html @@ -59,7 +59,7 @@

scoreMergeMode

-

Parameters

scoreMergeMode

In ioi mode, it determinate how final points for participant are calculated from points of many submissions.

+

Parameters

scoreMergeMode

In ioi mode, select the ruleset to calculate final score based on the scores for each submission.

- +
diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-d-s-settings/to-flow.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-d-s-settings/to-flow.html index e755c59d5..f83ccfa16 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-d-s-settings/to-flow.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-c-d-s-settings/to-flow.html @@ -59,7 +59,7 @@

toFlow

-
fun toFlow(creds: Map<String, String>): Flow<ContestUpdate>(source)
+
fun toFlow(creds: Map<String, String>): Flow<ContestUpdate>(source)
-
open override fun toString(): String(source)
+
open override fun toString(): String(source)
-
+

CFSettings

-
constructor(contestId: Int, apiKey: Credential, apiSecret: Credential, emulation: EmulationSettings? = null)(source)
+
constructor(contestId: Int, apiKey: Credential, apiSecret: Credential, asManager: Boolean = true, emulation: EmulationSettings? = null)(source)
- +
- +
- + -
open override val emulation: EmulationSettings? = null(source)
+
open override val emulation: EmulationSettings? = null(source)

CFSettings

-
@Serializable
class CFSettings(val contestId: Int, val apiKey: Credential, val apiSecret: Credential, val emulation: EmulationSettings? = null) : CDSSettings(source)
+
@Serializable
class CFSettings(val contestId: Int, val apiKey: Credential, val apiSecret: Credential, val asManager: Boolean = true, val emulation: EmulationSettings? = null) : CDSSettings(source)

Constructors

-
+
- +
Link copied to clipboard
-
constructor(contestId: Int, apiKey: Credential, apiSecret: Credential, emulation: EmulationSettings? = null)
+
constructor(contestId: Int, apiKey: Credential, apiSecret: Credential, asManager: Boolean = true, emulation: EmulationSettings? = null)
@@ -114,6 +114,21 @@

Properties

+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val asManager: Boolean = true
+
+
+
+
diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/-cats-settings.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/-cats-settings.html index 00a1d490c..13da5b7b1 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/-cats-settings.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/-cats-settings.html @@ -59,7 +59,7 @@

CatsSettings

-
constructor(login: Credential, password: Credential, url: String, timeZone: TimeZone = TimeZone.of("Asia/Vladivostok"), resultType: ContestResultType = ContestResultType.ICPC, cid: String, emulation: EmulationSettings? = null)(source)
+
constructor(login: Credential, password: Credential, url: String, timeZone: TimeZone = TimeZone.of("Asia/Vladivostok"), resultType: ContestResultType = ContestResultType.ICPC, cid: String, emulation: EmulationSettings? = null)(source)
- +
-
open override val emulation: EmulationSettings? = null(source)
+
open override val emulation: EmulationSettings? = null(source)

CatsSettings

-
@Serializable
class CatsSettings(val login: Credential, val password: Credential, val url: String, val timeZone: TimeZone = TimeZone.of("Asia/Vladivostok"), val resultType: ContestResultType = ContestResultType.ICPC, val cid: String, val emulation: EmulationSettings? = null) : CDSSettings(source)
+
@Serializable
class CatsSettings(val login: Credential, val password: Credential, val url: String, val timeZone: TimeZone = TimeZone.of("Asia/Vladivostok"), val resultType: ContestResultType = ContestResultType.ICPC, val cid: String, val emulation: EmulationSettings? = null) : CDSSettings(source)
diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/login.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/login.html index 1fc0a9668..32d5f5631 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/login.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-cats-settings/login.html @@ -59,7 +59,7 @@

login

- +
- +
- +
-
@Serializable(with = TimeZoneSerializer::class)
val timeZone: TimeZone(source)
+
@Serializable(with = TimeZoneSerializer::class)
val timeZone: TimeZone(source)
- + -
constructor(url: String, login: Credential? = null, password: Credential? = null, eventFeedName: String = "event-feed", feedVersion: FeedVersion = FeedVersion.`2022_07`)(source)
+
constructor(url: String, login: Credential? = null, password: Credential? = null, eventFeedName: String = "event-feed", feedVersion: FeedVersion = FeedVersion.`2022_07`)(source)
- + -
val feedVersion: FeedVersion(source)
+
val feedVersion: FeedVersion(source)

ClicsLoaderSettings

-
@Serializable
class ClicsLoaderSettings(val url: String, val login: Credential? = null, val password: Credential? = null, val eventFeedName: String = "event-feed", val feedVersion: FeedVersion = FeedVersion.`2022_07`)(source)
+
@Serializable
class ClicsLoaderSettings(val url: String, val login: Credential? = null, val password: Credential? = null, val eventFeedName: String = "event-feed", val feedVersion: FeedVersion = FeedVersion.`2022_07`)(source)
diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-loader-settings/login.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-loader-settings/login.html index 4fcba0c60..ba7c59beb 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-loader-settings/login.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-loader-settings/login.html @@ -59,7 +59,7 @@

login

-
val login: Credential? = null(source)
+
val login: Credential? = null(source)
-
val password: Credential? = null(source)
+
val password: Credential? = null(source)
- + -
constructor(url: String, login: Credential? = null, password: Credential? = null, eventFeedName: String = "event-feed", feedVersion: FeedVersion = FeedVersion.`2022_07`, additionalFeed: ClicsLoaderSettings? = null, useTeamNames: Boolean = true, mediaBaseUrl: String = "", emulation: EmulationSettings? = null)(source)
+
constructor(url: String, login: Credential? = null, password: Credential? = null, eventFeedName: String = "event-feed", feedVersion: FeedVersion = FeedVersion.`2022_07`, additionalFeed: ClicsLoaderSettings? = null, useTeamNames: Boolean = true, mediaBaseUrl: String = "", emulation: EmulationSettings? = null)(source)
- + -
open override val emulation: EmulationSettings? = null(source)
+
open override val emulation: EmulationSettings? = null(source)

ClicsSettings

-
@Serializable
class ClicsSettings(url: String, login: Credential? = null, password: Credential? = null, eventFeedName: String = "event-feed", feedVersion: FeedVersion = FeedVersion.`2022_07`, val additionalFeed: ClicsLoaderSettings? = null, val useTeamNames: Boolean = true, val mediaBaseUrl: String = "", val emulation: EmulationSettings? = null) : CDSSettings(source)
+
@Serializable
class ClicsSettings(url: String, login: Credential? = null, password: Credential? = null, eventFeedName: String = "event-feed", feedVersion: FeedVersion = FeedVersion.`2022_07`, val additionalFeed: ClicsLoaderSettings? = null, val useTeamNames: Boolean = true, val mediaBaseUrl: String = "", val emulation: EmulationSettings? = null) : CDSSettings(source)
diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-settings/main-feed.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-settings/main-feed.html index f45a57549..c9df6c623 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-settings/main-feed.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-clics-settings/main-feed.html @@ -59,7 +59,7 @@

mainFeed

- +
- + - + -
constructor(raw: String)(source)
+
constructor(raw: String)(source)
-
fun get(creds: Map<String, String>): String(source)
+
fun get(creds: Map<String, String>): String(source)

Credential

-
@Serializable
value class Credential(raw: String)(source)
+
@Serializable
value class Credential(raw: String)(source)
diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-ejudge-settings/-ejudge-settings.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-ejudge-settings/-ejudge-settings.html index 868a91979..21dea9568 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-ejudge-settings/-ejudge-settings.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-ejudge-settings/-ejudge-settings.html @@ -59,7 +59,7 @@

EjudgeSettings

-
constructor(url: String, resultType: ContestResultType = ContestResultType.ICPC, emulation: EmulationSettings? = null)(source)
+
constructor(url: String, resultType: ContestResultType = ContestResultType.ICPC, emulation: EmulationSettings? = null)(source)
-
open override val emulation: EmulationSettings? = null(source)
+
open override val emulation: EmulationSettings? = null(source)

EjudgeSettings

-
@Serializable
class EjudgeSettings(val url: String, val resultType: ContestResultType = ContestResultType.ICPC, val emulation: EmulationSettings? = null) : CDSSettings(source)
+
@Serializable
class EjudgeSettings(val url: String, val resultType: ContestResultType = ContestResultType.ICPC, val emulation: EmulationSettings? = null) : CDSSettings(source)
diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-ejudge-settings/result-type.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-ejudge-settings/result-type.html index 9b8b258c6..9cccfc83f 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-ejudge-settings/result-type.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-ejudge-settings/result-type.html @@ -59,7 +59,7 @@

resultType

- +
- + -
constructor(speed: Double, startTime: Instant)(source)
+
constructor(speed: Double, startTime: Instant)(source)

EmulationSettings

-
@Serializable
class EmulationSettings(val speed: Double, val startTime: Instant)(source)
+
@Serializable
class EmulationSettings(val speed: Double, val startTime: Instant)(source)
diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-emulation-settings/speed.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-emulation-settings/speed.html index 2a7022dcf..da92a073f 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-emulation-settings/speed.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-emulation-settings/speed.html @@ -59,7 +59,7 @@

speed

- +
-
@Serializable(with = HumanTimeSerializer::class)
val startTime: Instant(source)
+
@Serializable(with = HumanTimeSerializer::class)
val startTime: Instant(source)
-
constructor(submissionsUrl: String, contestUrl: String, timeZone: TimeZone = TimeZone.of("Asia/Bishkek"), emulation: EmulationSettings? = null)(source)
+
constructor(submissionsUrl: String, contestUrl: String, timeZone: TimeZone = TimeZone.of("Asia/Bishkek"), emulation: EmulationSettings? = null)(source)
- + -
open override val emulation: EmulationSettings? = null(source)
+
open override val emulation: EmulationSettings? = null(source)

KRSUSettings

-
@Serializable
class KRSUSettings(val submissionsUrl: String, val contestUrl: String, val timeZone: TimeZone = TimeZone.of("Asia/Bishkek"), val emulation: EmulationSettings? = null) : CDSSettings(source)
+
@Serializable
class KRSUSettings(val submissionsUrl: String, val contestUrl: String, val timeZone: TimeZone = TimeZone.of("Asia/Bishkek"), val emulation: EmulationSettings? = null) : CDSSettings(source)
diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-k-r-s-u-settings/submissions-url.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-k-r-s-u-settings/submissions-url.html index 77425afd5..e044f5725 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-k-r-s-u-settings/submissions-url.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-k-r-s-u-settings/submissions-url.html @@ -59,7 +59,7 @@

submissionsUrl

- +
-
@Serializable(with = TimeZoneSerializer::class)
val timeZone: TimeZone(source)
+
@Serializable(with = TimeZoneSerializer::class)
val timeZone: TimeZone(source)
-
constructor(emulation: EmulationSettings? = null)(source)
+
constructor(emulation: EmulationSettings? = null)(source)
-
open override val emulation: EmulationSettings? = null(source)
+
open override val emulation: EmulationSettings? = null(source)

NoopSettings

-
@Serializable
class NoopSettings(val emulation: EmulationSettings? = null) : CDSSettings(source)
+
@Serializable
class NoopSettings(val emulation: EmulationSettings? = null) : CDSSettings(source)
diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/-p-c-m-s-settings.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/-p-c-m-s-settings.html index d8d3ddd58..2fc746a0c 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/-p-c-m-s-settings.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/-p-c-m-s-settings.html @@ -59,7 +59,7 @@

PCMSSettings

-
constructor(url: String, login: Credential? = null, password: Credential? = null, problemsUrl: String? = null, resultType: ContestResultType = ContestResultType.ICPC, emulation: EmulationSettings? = null)(source)
+
constructor(url: String, login: Credential? = null, password: Credential? = null, problemsUrl: String? = null, resultType: ContestResultType = ContestResultType.ICPC, emulation: EmulationSettings? = null)(source)
-
open override val emulation: EmulationSettings? = null(source)
+
open override val emulation: EmulationSettings? = null(source)

PCMSSettings

-
@Serializable
class PCMSSettings(val url: String, val login: Credential? = null, val password: Credential? = null, val problemsUrl: String? = null, val resultType: ContestResultType = ContestResultType.ICPC, val emulation: EmulationSettings? = null) : CDSSettings(source)
+
@Serializable
class PCMSSettings(val url: String, val login: Credential? = null, val password: Credential? = null, val problemsUrl: String? = null, val resultType: ContestResultType = ContestResultType.ICPC, val emulation: EmulationSettings? = null) : CDSSettings(source)
diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/login.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/login.html index c52091d24..e14486dd5 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/login.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-p-c-m-s-settings/login.html @@ -59,7 +59,7 @@

login

-
val login: Credential? = null(source)
+
val login: Credential? = null(source)
-
val password: Credential? = null(source)
+
val password: Credential? = null(source)
-
val problemsUrl: String? = null(source)
+
val problemsUrl: String? = null(source)
- + - + -
constructor(url: String, timeZone: TimeZone = TimeZone.of("Europe/Moscow"), emulation: EmulationSettings? = null)(source)
+
constructor(url: String, timeZone: TimeZone = TimeZone.of("Europe/Moscow"), emulation: EmulationSettings? = null)(source)
-
open override val emulation: EmulationSettings? = null(source)
+
open override val emulation: EmulationSettings? = null(source)

TestSysSettings

-
@Serializable
class TestSysSettings(val url: String, val timeZone: TimeZone = TimeZone.of("Europe/Moscow"), val emulation: EmulationSettings? = null) : CDSSettings(source)
+
@Serializable
class TestSysSettings(val url: String, val timeZone: TimeZone = TimeZone.of("Europe/Moscow"), val emulation: EmulationSettings? = null) : CDSSettings(source)
diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-test-sys-settings/time-zone.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-test-sys-settings/time-zone.html index 6dc6eb8be..918c1c72a 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-test-sys-settings/time-zone.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-test-sys-settings/time-zone.html @@ -59,7 +59,7 @@

timeZone

-
@Serializable(with = TimeZoneSerializer::class)
val timeZone: TimeZone(source)
+
@Serializable(with = TimeZoneSerializer::class)
val timeZone: TimeZone(source)
- + -
constructor(apiKey: Credential, loginRegex: String, contestId: Int, resultType: ContestResultType = ContestResultType.ICPC, emulation: EmulationSettings? = null)(source)
+
constructor(apiKey: Credential, loginRegex: String, contestId: Int, resultType: ContestResultType = ContestResultType.ICPC, emulation: EmulationSettings? = null)(source)
- + - + -
open override val emulation: EmulationSettings? = null(source)
+
open override val emulation: EmulationSettings? = null(source)

YandexSettings

-
@Serializable
class YandexSettings(val apiKey: Credential, val loginRegex: String, val contestId: Int, val resultType: ContestResultType = ContestResultType.ICPC, val emulation: EmulationSettings? = null) : CDSSettings(source)
+
@Serializable
class YandexSettings(val apiKey: Credential, val loginRegex: String, val contestId: Int, val resultType: ContestResultType = ContestResultType.ICPC, val emulation: EmulationSettings? = null) : CDSSettings(source)
diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/login-regex.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/login-regex.html index fadb53481..19915a388 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/login-regex.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/-yandex-settings/login-regex.html @@ -59,7 +59,7 @@

loginRegex

- +
- +
-
@Serializable
class CFSettings(val contestId: Int, val apiKey: Credential, val apiSecret: Credential, val emulation: EmulationSettings? = null) : CDSSettings
+
@Serializable
class CFSettings(val contestId: Int, val apiKey: Credential, val apiSecret: Credential, val asManager: Boolean = true, val emulation: EmulationSettings? = null) : CDSSettings
diff --git a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/parse-file-to-cds-settings.html b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/parse-file-to-cds-settings.html index 9f8b0047d..bf68d3b8f 100644 --- a/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/parse-file-to-cds-settings.html +++ b/docs/cds/-i-c-p-c-live contest data parser/org.icpclive.cds.settings/parse-file-to-cds-settings.html @@ -59,7 +59,7 @@

parseFileToCdsSettings

- +