kattis-cli 1.2.3__tar.gz → 1.2.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.
Files changed (43) hide show
  1. {kattis_cli-1.2.3 → kattis_cli-1.2.5}/PKG-INFO +1 -1
  2. {kattis_cli-1.2.3 → kattis_cli-1.2.5}/pyproject.toml +6 -1
  3. {kattis_cli-1.2.3 → kattis_cli-1.2.5}/src/kattis_cli/client.py +11 -2
  4. {kattis_cli-1.2.3 → kattis_cli-1.2.5}/src/kattis_cli/main.py +10 -11
  5. {kattis_cli-1.2.3 → kattis_cli-1.2.5}/LICENSE +0 -0
  6. {kattis_cli-1.2.3 → kattis_cli-1.2.5}/README.md +0 -0
  7. {kattis_cli-1.2.3 → kattis_cli-1.2.5}/src/kattis_cli/.kattis-cli.toml +0 -0
  8. {kattis_cli-1.2.3 → kattis_cli-1.2.5}/src/kattis_cli/__init__.py +0 -0
  9. {kattis_cli-1.2.3 → kattis_cli-1.2.5}/src/kattis_cli/download.py +0 -0
  10. {kattis_cli-1.2.3 → kattis_cli-1.2.5}/src/kattis_cli/fireworks.py +0 -0
  11. {kattis_cli-1.2.3 → kattis_cli-1.2.5}/src/kattis_cli/kattis.py +0 -0
  12. {kattis_cli-1.2.3 → kattis_cli-1.2.5}/src/kattis_cli/kattis_setup.py +0 -0
  13. {kattis_cli-1.2.3 → kattis_cli-1.2.5}/src/kattis_cli/kattis_templates/__init__.py +0 -0
  14. {kattis_cli-1.2.3 → kattis_cli-1.2.5}/src/kattis_cli/kattis_templates/main/c.txt +0 -0
  15. {kattis_cli-1.2.3 → kattis_cli-1.2.5}/src/kattis_cli/kattis_templates/main/cpp.txt +0 -0
  16. {kattis_cli-1.2.3 → kattis_cli-1.2.5}/src/kattis_cli/kattis_templates/main/java.txt +0 -0
  17. {kattis_cli-1.2.3 → kattis_cli-1.2.5}/src/kattis_cli/kattis_templates/main/python.txt +0 -0
  18. {kattis_cli-1.2.3 → kattis_cli-1.2.5}/src/kattis_cli/kattis_templates/main/python3.txt +0 -0
  19. {kattis_cli-1.2.3 → kattis_cli-1.2.5}/src/kattis_cli/kattis_templates/project_structure/c/Makefile +0 -0
  20. {kattis_cli-1.2.3 → kattis_cli-1.2.5}/src/kattis_cli/kattis_templates/project_structure/c/src/problemid/problemid.c +0 -0
  21. {kattis_cli-1.2.3 → kattis_cli-1.2.5}/src/kattis_cli/kattis_templates/project_structure/c/tests/test_problemid.c +0 -0
  22. {kattis_cli-1.2.3 → kattis_cli-1.2.5}/src/kattis_cli/kattis_templates/project_structure/cpp/Makefile +0 -0
  23. {kattis_cli-1.2.3 → kattis_cli-1.2.5}/src/kattis_cli/kattis_templates/project_structure/cpp/src/problemid.cpp +0 -0
  24. {kattis_cli-1.2.3 → kattis_cli-1.2.5}/src/kattis_cli/kattis_templates/project_structure/cpp/tests/test_problemid.cpp +0 -0
  25. {kattis_cli-1.2.3 → kattis_cli-1.2.5}/src/kattis_cli/kattis_templates/project_structure/java/src/problemid.java +0 -0
  26. {kattis_cli-1.2.3 → kattis_cli-1.2.5}/src/kattis_cli/kattis_templates/project_structure/java/tests/tests_problemid.java +0 -0
  27. {kattis_cli-1.2.3 → kattis_cli-1.2.5}/src/kattis_cli/kattis_templates/project_structure/python/Makefile +0 -0
  28. {kattis_cli-1.2.3 → kattis_cli-1.2.5}/src/kattis_cli/kattis_templates/project_structure/python/src/problemid.py +0 -0
  29. {kattis_cli-1.2.3 → kattis_cli-1.2.5}/src/kattis_cli/kattis_templates/project_structure/python/tests/__init__.py +0 -0
  30. {kattis_cli-1.2.3 → kattis_cli-1.2.5}/src/kattis_cli/kattis_templates/project_structure/python/tests/test_problemid.py +0 -0
  31. {kattis_cli-1.2.3 → kattis_cli-1.2.5}/src/kattis_cli/kattis_templates/project_structure/python3/Makefile +0 -0
  32. {kattis_cli-1.2.3 → kattis_cli-1.2.5}/src/kattis_cli/kattis_templates/project_structure/python3/src/problemid.py +0 -0
  33. {kattis_cli-1.2.3 → kattis_cli-1.2.5}/src/kattis_cli/kattis_templates/project_structure/python3/tests/__init__.py +0 -0
  34. {kattis_cli-1.2.3 → kattis_cli-1.2.5}/src/kattis_cli/kattis_templates/project_structure/python3/tests/test_problemid.py +0 -0
  35. {kattis_cli-1.2.3 → kattis_cli-1.2.5}/src/kattis_cli/settings.py +0 -0
  36. {kattis_cli-1.2.3 → kattis_cli-1.2.5}/src/kattis_cli/solution_tester.py +0 -0
  37. {kattis_cli-1.2.3 → kattis_cli-1.2.5}/src/kattis_cli/template.py +0 -0
  38. {kattis_cli-1.2.3 → kattis_cli-1.2.5}/src/kattis_cli/ui.py +0 -0
  39. {kattis_cli-1.2.3 → kattis_cli-1.2.5}/src/kattis_cli/utils/__init__.py +0 -0
  40. {kattis_cli-1.2.3 → kattis_cli-1.2.5}/src/kattis_cli/utils/config.py +0 -0
  41. {kattis_cli-1.2.3 → kattis_cli-1.2.5}/src/kattis_cli/utils/languages.py +0 -0
  42. {kattis_cli-1.2.3 → kattis_cli-1.2.5}/src/kattis_cli/utils/run_program.py +0 -0
  43. {kattis_cli-1.2.3 → kattis_cli-1.2.5}/src/kattis_cli/utils/utility.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kattis-cli
3
- Version: 1.2.3
3
+ Version: 1.2.5
4
4
  Summary: A command-line tool for Kattis
5
5
  License-File: LICENSE
6
6
  Author: Ram Basnet
@@ -2,7 +2,7 @@
2
2
  # PEP 621 metadata table for tools that expect [project].
3
3
  [project]
4
4
  name = "kattis-cli"
5
- version = "1.2.3"
5
+ version = "1.2.5"
6
6
  description = "A command-line tool for Kattis"
7
7
  readme = "README.md"
8
8
  authors = [
@@ -47,3 +47,8 @@ trogon = "^0.6.0"
47
47
 
48
48
  [tool.poetry.scripts]
49
49
  kattis = 'kattis_cli.main:main'
50
+
51
+ [tool.pytest.ini_options]
52
+ pythonpath = ["src"]
53
+ testpaths = ["tests"]
54
+ python_files = ["test_*.py"]
@@ -188,7 +188,7 @@ Please download a new .kattisrc file''')
188
188
  Submission ID. This builds the full submissions URL from config
189
189
  and returns the specific submission URL.
190
190
  """
191
-
191
+ # Mainclass name containing non-valid characters.
192
192
  m = re.search(r'Submission ID: (\d+)', submit_response)
193
193
  if m:
194
194
  submissions_url = self.get_url(
@@ -395,6 +395,15 @@ Please download a new .kattisrc file''')
395
395
  sys.exit(1)
396
396
 
397
397
  files = sorted(list(set(files)))
398
+ for f in files:
399
+ if not os.path.isfile(f):
400
+ self.console.print(f'File not found:{f}', style='bold red')
401
+ sys.exit(1)
402
+ if os.path.basename(f)[0].isdigit():
403
+ self.console.print(
404
+ f'File should not start with a digit: {f}',
405
+ style='bold red')
406
+ sys.exit(1)
398
407
 
399
408
  submit_url = self.get_url(cfg, 'submissionurl', 'submit')
400
409
 
@@ -427,7 +436,7 @@ Please download a new .kattisrc file''')
427
436
  sys.exit(1)
428
437
 
429
438
  plain_result = result.content.decode('utf-8').replace('<br />', '\n')
430
- self.console.print(f'[bold blue]{plain_result}[/]')
439
+ # self.console.print(f'[bold blue]{plain_result}[/]')
431
440
 
432
441
  submission_url = None
433
442
  try:
@@ -2,7 +2,7 @@
2
2
 
3
3
  Change the __version__ to match in pyproject.toml
4
4
  """
5
- __version__ = '1.2.3'
5
+ __version__ = '1.2.5'
6
6
 
7
7
  from math import inf
8
8
  import os
@@ -42,20 +42,19 @@ def get(problemid: str) -> None:
42
42
  download.load_problem_metadata(problemid)
43
43
  except requests.exceptions.InvalidURL:
44
44
  console.print(
45
- f"Problem ID: [bold red]{problemid}[/bold red] not found.")
45
+ f"Problem ID: [bold red]{problemid}[/bold red] not found.")
46
46
  else:
47
+ console.print("✅ Metadata downloaded successfully.")
47
48
  console.print(
48
49
  f"Downloading samples: [bold blue]{problemid}[/bold blue]")
49
50
  try:
50
51
  download.download_sample_data(problemid)
51
52
  except requests.exceptions.InvalidURL:
52
53
  console.print(
53
- f"Problem ID: [bold red]{problemid}[/bold red] metadata \
54
- not found.")
54
+ f"❌ Samples not found for Problem ID: [bold red]\
55
+ {problemid}[/bold red].")
55
56
  else:
56
- console.print(
57
- f"Downloaded samples and metadata: \
58
- [bold blue]{problemid}[/bold blue]")
57
+ console.print("✅ Samples downloaded successfully.")
59
58
 
60
59
 
61
60
  @main.command(help='Show problem metadata.')
@@ -81,8 +80,9 @@ def test(
81
80
  files: Tuple[str]) -> None:
82
81
  """Test solution with sample files.
83
82
  """
84
- problemid, loc_language, mainclass, _files, root_folder, lang_config = \
85
- languages.update_args(problemid, language, mainclass, list(files))
83
+ problemid, loc_language, mainclass, _files, root_folder, lang_config =\
84
+ languages.update_args(
85
+ problemid, language, mainclass, list(files))
86
86
  # print('After - ', f'{problemid=} {language=} {mainclass=} {_files=}')
87
87
  # lang_config = config.parse_config(language)
88
88
  if not mainclass:
@@ -118,8 +118,7 @@ def submit(problemid: str, language: str,
118
118
  """Submit a solution to Kattis.
119
119
  """
120
120
  problemid, language, mainclass, _files, _, lang_config = \
121
- languages.update_args(
122
- problemid, language, mainclass, list(files))
121
+ languages.update_args(problemid, language, mainclass, list(files))
123
122
  # Finally, submit the solution
124
123
  if not mainclass:
125
124
  mainclass = languages.guess_mainfile(
File without changes
File without changes