Skip to content

Commit 11b0121

Browse files
committed
Update SDK using contracts version f3d476042d48e13bdc75c082f8422f30105f2ce7
1 parent f462f43 commit 11b0121

8 files changed

Lines changed: 245 additions & 119 deletions

eolymp/atlas/submission_service_http.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,20 @@ def ListProblemTop(self, request, **kwargs):
8989
**kwargs,
9090
)
9191

92+
def CompareSubmissions(self, request, **kwargs):
93+
path = "/submissions/"+urllib.parse.quote(request.submission_id)+"/compare"
94+
95+
# Cleanup URL parameters to avoid any ambiguity
96+
request.submission_id = ""
97+
98+
return self.transport.request(
99+
method="GET",
100+
url=self.url+path,
101+
request_data=request,
102+
response_symbol=_sym_db.GetSymbol("eolymp.atlas.CompareSubmissionsOutput"),
103+
**kwargs,
104+
)
105+
92106
def AggregateSubmissions(self, request, **kwargs):
93107
path = "/submissions:aggregate"
94108

eolymp/atlas/submission_service_pb2.py

Lines changed: 65 additions & 53 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

eolymp/atlas/submission_service_pb2.pyi

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,49 @@ from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union
1717

1818
DESCRIPTOR: _descriptor.FileDescriptor
1919

20+
class CompareSubmissionsInput(_message.Message):
21+
__slots__ = ("submission_id", "other_submission_id")
22+
SUBMISSION_ID_FIELD_NUMBER: _ClassVar[int]
23+
OTHER_SUBMISSION_ID_FIELD_NUMBER: _ClassVar[int]
24+
submission_id: str
25+
other_submission_id: str
26+
def __init__(self, submission_id: _Optional[str] = ..., other_submission_id: _Optional[str] = ...) -> None: ...
27+
28+
class CompareSubmissionsOutput(_message.Message):
29+
__slots__ = ("submission", "other_submission", "matches")
30+
class Source(_message.Message):
31+
__slots__ = ("submission_id", "runtime", "source")
32+
SUBMISSION_ID_FIELD_NUMBER: _ClassVar[int]
33+
RUNTIME_FIELD_NUMBER: _ClassVar[int]
34+
SOURCE_FIELD_NUMBER: _ClassVar[int]
35+
submission_id: str
36+
runtime: str
37+
source: str
38+
def __init__(self, submission_id: _Optional[str] = ..., runtime: _Optional[str] = ..., source: _Optional[str] = ...) -> None: ...
39+
class Span(_message.Message):
40+
__slots__ = ("from_line", "to_line")
41+
FROM_LINE_FIELD_NUMBER: _ClassVar[int]
42+
TO_LINE_FIELD_NUMBER: _ClassVar[int]
43+
from_line: int
44+
to_line: int
45+
def __init__(self, from_line: _Optional[int] = ..., to_line: _Optional[int] = ...) -> None: ...
46+
class Match(_message.Message):
47+
__slots__ = ("submission", "other_submission", "tokens")
48+
SUBMISSION_FIELD_NUMBER: _ClassVar[int]
49+
OTHER_SUBMISSION_FIELD_NUMBER: _ClassVar[int]
50+
TOKENS_FIELD_NUMBER: _ClassVar[int]
51+
submission: CompareSubmissionsOutput.Span
52+
other_submission: CompareSubmissionsOutput.Span
53+
tokens: int
54+
def __init__(self, submission: _Optional[_Union[CompareSubmissionsOutput.Span, _Mapping]] = ..., other_submission: _Optional[_Union[CompareSubmissionsOutput.Span, _Mapping]] = ..., tokens: _Optional[int] = ...) -> None: ...
55+
SUBMISSION_FIELD_NUMBER: _ClassVar[int]
56+
OTHER_SUBMISSION_FIELD_NUMBER: _ClassVar[int]
57+
MATCHES_FIELD_NUMBER: _ClassVar[int]
58+
submission: CompareSubmissionsOutput.Source
59+
other_submission: CompareSubmissionsOutput.Source
60+
matches: _containers.RepeatedCompositeFieldContainer[CompareSubmissionsOutput.Match]
61+
def __init__(self, submission: _Optional[_Union[CompareSubmissionsOutput.Source, _Mapping]] = ..., other_submission: _Optional[_Union[CompareSubmissionsOutput.Source, _Mapping]] = ..., matches: _Optional[_Iterable[_Union[CompareSubmissionsOutput.Match, _Mapping]]] = ...) -> None: ...
62+
2063
class SubmissionChangedEvent(_message.Message):
2164
__slots__ = ("before", "after")
2265
BEFORE_FIELD_NUMBER: _ClassVar[int]

eolymp/judge/evidence_pb2.py

Lines changed: 6 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

eolymp/judge/evidence_pb2.pyi

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,32 +2,22 @@ import datetime
22

33
from eolymp.annotations import mcp_pb2 as _mcp_pb2
44
from google.protobuf import timestamp_pb2 as _timestamp_pb2
5-
from google.protobuf.internal import containers as _containers
65
from google.protobuf import descriptor as _descriptor
76
from google.protobuf import message as _message
8-
from collections.abc import Iterable as _Iterable, Mapping as _Mapping
7+
from collections.abc import Mapping as _Mapping
98
from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union
109

1110
DESCRIPTOR: _descriptor.FileDescriptor
1211

1312
class Evidence(_message.Message):
1413
__slots__ = ("id", "submission", "pair")
15-
class Span(_message.Message):
16-
__slots__ = ("from_line", "to_line")
17-
FROM_LINE_FIELD_NUMBER: _ClassVar[int]
18-
TO_LINE_FIELD_NUMBER: _ClassVar[int]
19-
from_line: int
20-
to_line: int
21-
def __init__(self, from_line: _Optional[int] = ..., to_line: _Optional[int] = ...) -> None: ...
2214
class Submission(_message.Message):
23-
__slots__ = ("submission_id", "submitted_at", "spans")
15+
__slots__ = ("submission_id", "submitted_at")
2416
SUBMISSION_ID_FIELD_NUMBER: _ClassVar[int]
2517
SUBMITTED_AT_FIELD_NUMBER: _ClassVar[int]
26-
SPANS_FIELD_NUMBER: _ClassVar[int]
2718
submission_id: str
2819
submitted_at: _timestamp_pb2.Timestamp
29-
spans: _containers.RepeatedCompositeFieldContainer[Evidence.Span]
30-
def __init__(self, submission_id: _Optional[str] = ..., submitted_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., spans: _Optional[_Iterable[_Union[Evidence.Span, _Mapping]]] = ...) -> None: ...
20+
def __init__(self, submission_id: _Optional[str] = ..., submitted_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ...
3121
class Pair(_message.Message):
3222
__slots__ = ("left", "right", "score")
3323
LEFT_FIELD_NUMBER: _ClassVar[int]

eolymp/judge/submission_service_http.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,20 @@ def PrintSubmission(self, request, **kwargs):
6767
**kwargs,
6868
)
6969

70+
def CompareSubmissions(self, request, **kwargs):
71+
path = "/submissions/"+urllib.parse.quote(request.submission_id)+"/compare"
72+
73+
# Cleanup URL parameters to avoid any ambiguity
74+
request.submission_id = ""
75+
76+
return self.transport.request(
77+
method="GET",
78+
url=self.url+path,
79+
request_data=request,
80+
response_symbol=_sym_db.GetSymbol("eolymp.judge.CompareSubmissionsOutput"),
81+
**kwargs,
82+
)
83+
7084
def RetestSubmission(self, request, **kwargs):
7185
path = "/submissions/"+urllib.parse.quote(request.submission_id)+"/retest"
7286

0 commit comments

Comments
 (0)