xcpcio 0.64.3__tar.gz → 0.64.5__tar.gz

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.

Files changed (54) hide show
  1. {xcpcio-0.64.3 → xcpcio-0.64.5}/PKG-INFO +1 -1
  2. {xcpcio-0.64.3 → xcpcio-0.64.5}/pyproject.toml +2 -2
  3. {xcpcio-0.64.3 → xcpcio-0.64.5}/xcpcio/__version__.py +1 -1
  4. {xcpcio-0.64.3 → xcpcio-0.64.5/xcpcio}/app/clics_archiver.py +10 -7
  5. {xcpcio-0.64.3 → xcpcio-0.64.5/xcpcio}/app/clics_server.py +4 -1
  6. {xcpcio-0.64.3 → xcpcio-0.64.5}/.gitignore +0 -0
  7. {xcpcio-0.64.3 → xcpcio-0.64.5}/.python-version +0 -0
  8. {xcpcio-0.64.3 → xcpcio-0.64.5}/README.md +0 -0
  9. {xcpcio-0.64.3 → xcpcio-0.64.5}/scripts/generate_ccs_models.sh +0 -0
  10. {xcpcio-0.64.3 → xcpcio-0.64.5}/tests/__init__.py +0 -0
  11. {xcpcio-0.64.3 → xcpcio-0.64.5}/tests/test_contest.py +0 -0
  12. {xcpcio-0.64.3 → xcpcio-0.64.5}/tests/test_submission.py +0 -0
  13. {xcpcio-0.64.3 → xcpcio-0.64.5}/tests/test_team.py +0 -0
  14. {xcpcio-0.64.3 → xcpcio-0.64.5}/tests/test_types.py +0 -0
  15. {xcpcio-0.64.3 → xcpcio-0.64.5}/uv.lock +0 -0
  16. {xcpcio-0.64.3 → xcpcio-0.64.5}/xcpcio/__init__.py +0 -0
  17. {xcpcio-0.64.3 → xcpcio-0.64.5}/xcpcio/api/__init__.py +0 -0
  18. {xcpcio-0.64.3 → xcpcio-0.64.5}/xcpcio/api/client.py +0 -0
  19. {xcpcio-0.64.3 → xcpcio-0.64.5}/xcpcio/api/models.py +0 -0
  20. {xcpcio-0.64.3 → xcpcio-0.64.5}/xcpcio/clics/__init__.py +0 -0
  21. {xcpcio-0.64.3 → xcpcio-0.64.5}/xcpcio/clics/api_server/__init__.py +0 -0
  22. {xcpcio-0.64.3 → xcpcio-0.64.5}/xcpcio/clics/api_server/app.py +0 -0
  23. {xcpcio-0.64.3 → xcpcio-0.64.5}/xcpcio/clics/api_server/dependencies.py +0 -0
  24. {xcpcio-0.64.3 → xcpcio-0.64.5}/xcpcio/clics/api_server/routes/__init__.py +0 -0
  25. {xcpcio-0.64.3 → xcpcio-0.64.5}/xcpcio/clics/api_server/routes/access.py +0 -0
  26. {xcpcio-0.64.3 → xcpcio-0.64.5}/xcpcio/clics/api_server/routes/accounts.py +0 -0
  27. {xcpcio-0.64.3 → xcpcio-0.64.5}/xcpcio/clics/api_server/routes/awards.py +0 -0
  28. {xcpcio-0.64.3 → xcpcio-0.64.5}/xcpcio/clics/api_server/routes/clarifications.py +0 -0
  29. {xcpcio-0.64.3 → xcpcio-0.64.5}/xcpcio/clics/api_server/routes/contests.py +0 -0
  30. {xcpcio-0.64.3 → xcpcio-0.64.5}/xcpcio/clics/api_server/routes/general.py +0 -0
  31. {xcpcio-0.64.3 → xcpcio-0.64.5}/xcpcio/clics/api_server/routes/groups.py +0 -0
  32. {xcpcio-0.64.3 → xcpcio-0.64.5}/xcpcio/clics/api_server/routes/judgement_types.py +0 -0
  33. {xcpcio-0.64.3 → xcpcio-0.64.5}/xcpcio/clics/api_server/routes/judgements.py +0 -0
  34. {xcpcio-0.64.3 → xcpcio-0.64.5}/xcpcio/clics/api_server/routes/languages.py +0 -0
  35. {xcpcio-0.64.3 → xcpcio-0.64.5}/xcpcio/clics/api_server/routes/organizations.py +0 -0
  36. {xcpcio-0.64.3 → xcpcio-0.64.5}/xcpcio/clics/api_server/routes/problems.py +0 -0
  37. {xcpcio-0.64.3 → xcpcio-0.64.5}/xcpcio/clics/api_server/routes/runs.py +0 -0
  38. {xcpcio-0.64.3 → xcpcio-0.64.5}/xcpcio/clics/api_server/routes/submissions.py +0 -0
  39. {xcpcio-0.64.3 → xcpcio-0.64.5}/xcpcio/clics/api_server/routes/teams.py +0 -0
  40. {xcpcio-0.64.3 → xcpcio-0.64.5}/xcpcio/clics/api_server/server.py +0 -0
  41. {xcpcio-0.64.3 → xcpcio-0.64.5}/xcpcio/clics/api_server/services/__init__.py +0 -0
  42. {xcpcio-0.64.3 → xcpcio-0.64.5}/xcpcio/clics/api_server/services/contest_service.py +0 -0
  43. {xcpcio-0.64.3 → xcpcio-0.64.5}/xcpcio/clics/base/__init__.py +0 -0
  44. {xcpcio-0.64.3 → xcpcio-0.64.5}/xcpcio/clics/base/types.py +0 -0
  45. {xcpcio-0.64.3 → xcpcio-0.64.5}/xcpcio/clics/clics_api_client.py +0 -0
  46. {xcpcio-0.64.3 → xcpcio-0.64.5}/xcpcio/clics/contest_archiver.py +0 -0
  47. {xcpcio-0.64.3 → xcpcio-0.64.5}/xcpcio/clics/model/__init__.py +0 -0
  48. {xcpcio-0.64.3 → xcpcio-0.64.5}/xcpcio/clics/model/model_2023_06/__init__.py +0 -0
  49. {xcpcio-0.64.3 → xcpcio-0.64.5}/xcpcio/clics/model/model_2023_06/model.py +0 -0
  50. {xcpcio-0.64.3 → xcpcio-0.64.5}/xcpcio/clics/reader/__init__.py +0 -0
  51. {xcpcio-0.64.3 → xcpcio-0.64.5}/xcpcio/clics/reader/contest_package_reader.py +0 -0
  52. {xcpcio-0.64.3 → xcpcio-0.64.5}/xcpcio/clics/reader/interface.py +0 -0
  53. {xcpcio-0.64.3 → xcpcio-0.64.5}/xcpcio/constants.py +0 -0
  54. {xcpcio-0.64.3 → xcpcio-0.64.5}/xcpcio/types.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: xcpcio
3
- Version: 0.64.3
3
+ Version: 0.64.5
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
@@ -38,8 +38,8 @@ documentation = "https://github.com/xcpcio/xcpcio"
38
38
  repository = "https://github.com/xcpcio/xcpcio"
39
39
 
40
40
  [project.scripts]
41
- clics-archiver = "app.clics_archiver:main"
42
- clics-server = "app.clics_server:main"
41
+ clics-archiver = "xcpcio.app.clics_archiver:main"
42
+ clics-server = "xcpcio.app.clics_server:main"
43
43
 
44
44
  [tool.ruff]
45
45
  line-length = 120
@@ -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.3'
4
+ __version__ = VERSION = '0.64.5'
@@ -96,22 +96,22 @@ def main(
96
96
  Examples:
97
97
 
98
98
  # Output to directory
99
- clics-archiver --base-url https://api.example.com/api --contest-id contest123 -o ./output -u admin -p secret
99
+ clics-archiver --base-url https://domjudge/api --contest-id contest123 -o ./output -u admin -p secret
100
100
 
101
101
  # Output to ZIP archive
102
- clics-archiver --base-url https://api.example.com/api --contest-id contest123 -o contest.zip --token abc123
102
+ clics-archiver --base-url https://domjudge/api --contest-id contest123 -o contest.zip --token abc123
103
103
 
104
104
  # Output to tar.gz archive
105
- clics-archiver --base-url https://api.example.com/api --contest-id contest123 -o contest.tar.gz -u admin -p secret
105
+ clics-archiver --base-url https://domjudge/api --contest-id contest123 -o contest.tar.gz -u admin -p secret
106
106
 
107
107
  # Output to tar.zst archive
108
- clics-archiver --base-url https://api.example.com/api --contest-id contest123 -o contest.tar.zst -u admin -p secret
108
+ clics-archiver --base-url https://domjudge/api --contest-id contest123 -o contest.tar.zst -u admin -p secret
109
109
 
110
110
  # Only archive specific endpoints
111
- clics-archiver --base-url https://api.example.com/api --contest-id contest123 -o ./output -u admin -p secret -e teams -e problems
111
+ clics-archiver --base-url https://domjudge/api --contest-id contest123 -o ./output -u admin -p secret -e teams -e problems
112
112
 
113
113
  # Skip file downloads
114
- clics-archiver --base-url https://api.example.com/api --contest-id contest123 -o ./output --no-files
114
+ clics-archiver --base-url https://domjudge/api --contest-id contest123 -o ./output --no-files
115
115
  """
116
116
 
117
117
  if verbose:
@@ -130,7 +130,10 @@ def main(
130
130
  def cleanup_temp_dir():
131
131
  if temp_dir and temp_dir.exists():
132
132
  click.echo(f"Cleaning up temporary directory: {temp_dir}")
133
- shutil.rmtree(temp_dir)
133
+ try:
134
+ shutil.rmtree(temp_dir)
135
+ except Exception as e:
136
+ click.echo(f"Warning: Failed to cleanup temporary directory: {e}", err=True)
134
137
 
135
138
  atexit.register(cleanup_temp_dir)
136
139
 
@@ -88,7 +88,10 @@ def main(contest_package: Path, host: str, port: int, log_level: str, verbose: b
88
88
  def cleanup_temp_dir():
89
89
  if temp_dir and temp_dir.exists():
90
90
  click.echo(f"Cleaning up temporary directory: {temp_dir}")
91
- shutil.rmtree(temp_dir)
91
+ try:
92
+ shutil.rmtree(temp_dir)
93
+ except Exception as e:
94
+ click.echo(f"Warning: Failed to cleanup temporary directory: {e}", err=True)
92
95
 
93
96
  atexit.register(cleanup_temp_dir)
94
97
 
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes