xcpcio 0.64.5__py3-none-any.whl → 0.65.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of xcpcio might be problematic. Click here for more details.

xcpcio/__version__.py CHANGED
@@ -1,4 +1,4 @@
1
1
  # This file is auto-generated by Hatchling. As such, do not:
2
2
  # - modify
3
3
  # - track in version control e.g. be sure to add to .gitignore
4
- __version__ = VERSION = '0.64.5'
4
+ __version__ = VERSION = '0.65.0'
xcpcio/types.py CHANGED
@@ -61,9 +61,28 @@ SubmissionStatus = Literal[
61
61
  ImagePreset = Literal["ICPC", "CCPC", "HUNAN_CPC"]
62
62
  MedalPreset = Literal["ccpc", "icpc"]
63
63
  BannerMode = Literal["ONLY_BANNER", "ALL"]
64
+ Lang = Literal["en", "zh-CN"]
64
65
  DateTimeISO8601String = str
65
66
 
66
67
 
68
+ class I18NStringSet(BaseModel):
69
+ fallback: Optional[str] = None
70
+ fallback_lang: Optional[Lang] = None
71
+ texts: Optional[Dict[Lang, str]] = None
72
+
73
+
74
+ Text = Union[str, I18NStringSet]
75
+
76
+
77
+ class Person(BaseModel):
78
+ name: Text
79
+ cf_id: Optional[str] = None
80
+ icpc_id: Optional[str] = None
81
+
82
+
83
+ Persons = List[Person]
84
+
85
+
67
86
  class Image(BaseModel):
68
87
  url: Optional[str] = None
69
88
  base64: Optional[str] = None
@@ -71,20 +90,33 @@ class Image(BaseModel):
71
90
  preset: Optional[ImagePreset] = None
72
91
 
73
92
 
74
- class Color(BaseModel):
93
+ class BalloonColor(BaseModel):
75
94
  color: str
76
95
  background_color: str
77
96
 
78
97
 
79
- class Reaction(BaseModel):
98
+ class Problem(BaseModel):
99
+ id: str
100
+ label: str
101
+ name: Optional[Text] = None
102
+ time_limit: Optional[str] = None
103
+ memory_limit: Optional[str] = None
104
+ balloon_color: Optional[BalloonColor] = None
105
+
106
+
107
+ Problems = List[Problem]
108
+
109
+
110
+ class SubmissionReaction(BaseModel):
80
111
  url: Optional[str] = None
81
112
 
82
113
 
83
114
  class Submission(BaseModel):
84
- id: str = ""
115
+ id: Optional[str] = None
116
+ submission_id: Optional[str] = None
85
117
 
86
118
  team_id: str = ""
87
- problem_id: int = 0
119
+ problem_id: Union[int, str] = 0
88
120
  timestamp: int = 0 # unit: seconds
89
121
  status: SubmissionStatus = constants.SUBMISSION_STATUS_UNKNOWN
90
122
 
@@ -93,7 +125,7 @@ class Submission(BaseModel):
93
125
 
94
126
  is_ignore: Optional[bool] = None
95
127
 
96
- reaction: Optional[Reaction] = None
128
+ reaction: Optional[SubmissionReaction] = None
97
129
 
98
130
 
99
131
  class Submissions(RootModel[List[Submission]]):
@@ -102,14 +134,14 @@ class Submissions(RootModel[List[Submission]]):
102
134
 
103
135
  class Team(BaseModel):
104
136
  id: str = ""
105
- name: str = ""
137
+ name: Text = ""
106
138
 
107
139
  organization: str = ""
108
140
  group: List[str] = Field(default_factory=list)
109
141
  tag: List[str] = Field(default_factory=list)
110
142
 
111
- coach: Optional[str] = None
112
- members: Optional[List[str]] = None
143
+ coaches: Optional[Union[Text, List[Text], Persons]] = None
144
+ members: Optional[Union[Text, List[Text], Persons]] = None
113
145
 
114
146
  badge: Optional[Image] = None
115
147
 
@@ -139,7 +171,7 @@ class ContestOptions(BaseModel):
139
171
 
140
172
 
141
173
  class Contest(BaseModel):
142
- contest_name: str = ""
174
+ contest_name: Text = ""
143
175
 
144
176
  start_time: Union[int, DateTimeISO8601String] = 0
145
177
  end_time: Union[int, DateTimeISO8601String] = 0
@@ -149,15 +181,17 @@ class Contest(BaseModel):
149
181
  frozen_time: int = 60 * 60 # unit: seconds
150
182
  unfrozen_time: int = 0x3F3F3F3F3F3F3F3F
151
183
 
184
+ problems: Optional[Problems] = None
152
185
  problem_quantity: int = 0
153
186
  problem_id: List[str] = Field(default_factory=list)
187
+ balloon_color: Optional[List[BalloonColor]] = None
154
188
 
155
- organization: str = "School"
156
189
  status_time_display: Optional[Dict[str, bool]] = constants.FULL_STATUS_TIME_DISPLAY
157
190
 
158
191
  badge: Optional[str] = None
192
+ organization: str = "School"
193
+
159
194
  medal: Optional[Union[Dict[str, Dict[str, int]], MedalPreset]] = None
160
- balloon_color: Optional[List[Color]] = None
161
195
 
162
196
  group: Optional[Dict[str, str]] = None
163
197
  tag: Optional[Dict[str, str]] = None
@@ -171,7 +205,7 @@ class Contest(BaseModel):
171
205
 
172
206
  options: ContestOptions = Field(default_factory=ContestOptions)
173
207
 
174
- def append_balloon_color(self, color: Color):
208
+ def append_balloon_color(self, color: BalloonColor):
175
209
  if self.balloon_color is None:
176
210
  self.balloon_color = []
177
211
  self.balloon_color.append(color)
@@ -183,20 +217,20 @@ class Contest(BaseModel):
183
217
 
184
218
  def fill_balloon_color(self):
185
219
  default_balloon_color_list = [
186
- Color(background_color="rgba(189, 14, 14, 0.7)", color="#fff"),
187
- Color(background_color="rgba(149, 31, 217, 0.7)", color="#fff"),
188
- Color(background_color="rgba(16, 32, 96, 0.7)", color="#fff"),
189
- Color(background_color="rgba(38, 185, 60, 0.7)", color="#000"),
190
- Color(background_color="rgba(239, 217, 9, 0.7)", color="#000"),
191
- Color(background_color="rgba(243, 88, 20, 0.7)", color="#fff"),
192
- Color(background_color="rgba(12, 76, 138, 0.7)", color="#fff"),
193
- Color(background_color="rgba(156, 155, 155, 0.7)", color="#000"),
194
- Color(background_color="rgba(4, 154, 115, 0.7)", color="#000"),
195
- Color(background_color="rgba(159, 19, 236, 0.7)", color="#fff"),
196
- Color(background_color="rgba(42, 197, 202, 0.7)", color="#000"),
197
- Color(background_color="rgba(142, 56, 54, 0.7)", color="#fff"),
198
- Color(background_color="rgba(144, 238, 144, 0.7)", color="#000"),
199
- Color(background_color="rgba(77, 57, 0, 0.7)", color="#fff"),
220
+ BalloonColor(background_color="rgba(189, 14, 14, 0.7)", color="#fff"),
221
+ BalloonColor(background_color="rgba(149, 31, 217, 0.7)", color="#fff"),
222
+ BalloonColor(background_color="rgba(16, 32, 96, 0.7)", color="#fff"),
223
+ BalloonColor(background_color="rgba(38, 185, 60, 0.7)", color="#000"),
224
+ BalloonColor(background_color="rgba(239, 217, 9, 0.7)", color="#000"),
225
+ BalloonColor(background_color="rgba(243, 88, 20, 0.7)", color="#fff"),
226
+ BalloonColor(background_color="rgba(12, 76, 138, 0.7)", color="#fff"),
227
+ BalloonColor(background_color="rgba(156, 155, 155, 0.7)", color="#000"),
228
+ BalloonColor(background_color="rgba(4, 154, 115, 0.7)", color="#000"),
229
+ BalloonColor(background_color="rgba(159, 19, 236, 0.7)", color="#fff"),
230
+ BalloonColor(background_color="rgba(42, 197, 202, 0.7)", color="#000"),
231
+ BalloonColor(background_color="rgba(142, 56, 54, 0.7)", color="#fff"),
232
+ BalloonColor(background_color="rgba(144, 238, 144, 0.7)", color="#000"),
233
+ BalloonColor(background_color="rgba(77, 57, 0, 0.7)", color="#fff"),
200
234
  ]
201
235
 
202
236
  self.balloon_color = default_balloon_color_list[: self.problem_quantity]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: xcpcio
3
- Version: 0.64.5
3
+ Version: 0.65.0
4
4
  Summary: xcpcio python lib
5
5
  Project-URL: homepage, https://github.com/xcpcio/xcpcio
6
6
  Project-URL: documentation, https://github.com/xcpcio/xcpcio
@@ -1,7 +1,7 @@
1
1
  xcpcio/__init__.py,sha256=NB6wpVr5JUrOx2vLIQSVtYuCz0d7kNFE39TSQlvoENk,125
2
- xcpcio/__version__.py,sha256=BYquUwEg9-V5NQhS7rpjqTa9mDXyR0Lo8MbEWDor-eI,172
2
+ xcpcio/__version__.py,sha256=uSD0tE8vcfG2kBfQmbthAcsvXUvzg1w2cXDA2Bunbco,172
3
3
  xcpcio/constants.py,sha256=MjpAgNXiBlUsx1S09m7JNT-nekNDR-aE6ggvGL3fg0I,2297
4
- xcpcio/types.py,sha256=AkYby2haJgxwtozlgaPMG2ryAZdvsSc3sH-p6qXcM4g,6575
4
+ xcpcio/types.py,sha256=CJYZc3RIWKYFbXIpyqt8fZANqJUMR66vLPno6nFyegA,7466
5
5
  xcpcio/api/__init__.py,sha256=B9gLdAlR3FD7070cvAC5wAwMy3iV63I8hh4mUrnrKpk,274
6
6
  xcpcio/api/client.py,sha256=BuzH8DbJYudJ-Kne-2XziLW__B_7iEqElJ4n2SGZCoY,2374
7
7
  xcpcio/api/models.py,sha256=_dChApnIHVNN3hEL7mR5zonq8IUcxW_h7z1kUz6reSs,772
@@ -40,7 +40,7 @@ xcpcio/clics/model/model_2023_06/model.py,sha256=bVMDWpJTwPSpz1fHPxWrWerxCBIboH3
40
40
  xcpcio/clics/reader/__init__.py,sha256=Nfi78X8J1tJPh7WeSRPLMRUprlS2JYelYJHW4DfyJ7U,162
41
41
  xcpcio/clics/reader/contest_package_reader.py,sha256=0wIzQp4zzdaB10zMY4WALLIeoXcMuhMJ6nRrfKxWhgw,14179
42
42
  xcpcio/clics/reader/interface.py,sha256=lK2JXU1n8GJ4PecXnfFBijMaCVLYk404e4QwV_Ti2Hk,3918
43
- xcpcio-0.64.5.dist-info/METADATA,sha256=cDO1ROuDxUmCp2p-g26F-cFsqXCJ-lmHRDZYAkPrDGA,2233
44
- xcpcio-0.64.5.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
45
- xcpcio-0.64.5.dist-info/entry_points.txt,sha256=JYkvmmxKFWv0EBU6Ys65XsjkOO02KGlzASau0GX9TQ8,110
46
- xcpcio-0.64.5.dist-info/RECORD,,
43
+ xcpcio-0.65.0.dist-info/METADATA,sha256=8VaTk5-ea4wUe-gBv4j2GfrErvY-Yk8l5ey6ouzMHkI,2233
44
+ xcpcio-0.65.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
45
+ xcpcio-0.65.0.dist-info/entry_points.txt,sha256=JYkvmmxKFWv0EBU6Ys65XsjkOO02KGlzASau0GX9TQ8,110
46
+ xcpcio-0.65.0.dist-info/RECORD,,