making-with-code-cli 5.0.3__tar.gz → 5.1.0__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 (42) hide show
  1. {making_with_code_cli-5.0.3 → making_with_code_cli-5.1.0}/PKG-INFO +1 -1
  2. {making_with_code_cli-5.0.3 → making_with_code_cli-5.1.0}/pyproject.toml +1 -1
  3. {making_with_code_cli-5.0.3 → making_with_code_cli-5.1.0}/src/making_with_code_cli/mwc_accounts_api.py +7 -0
  4. {making_with_code_cli-5.0.3 → making_with_code_cli-5.1.0}/src/making_with_code_cli/teach/section/__init__.py +4 -2
  5. making_with_code_cli-5.1.0/src/making_with_code_cli/teach/section/delete.py +24 -0
  6. {making_with_code_cli-5.0.3 → making_with_code_cli-5.1.0}/src/making_with_code_cli/teach/section/edit.py +1 -1
  7. {making_with_code_cli-5.0.3 → making_with_code_cli-5.1.0}/README.md +0 -0
  8. {making_with_code_cli-5.0.3 → making_with_code_cli-5.1.0}/src/making_with_code_cli/__init__.py +0 -0
  9. {making_with_code_cli-5.0.3 → making_with_code_cli-5.1.0}/src/making_with_code_cli/cli.py +0 -0
  10. {making_with_code_cli-5.0.3 → making_with_code_cli-5.1.0}/src/making_with_code_cli/curriculum.py +0 -0
  11. {making_with_code_cli-5.0.3 → making_with_code_cli-5.1.0}/src/making_with_code_cli/decorators.py +0 -0
  12. {making_with_code_cli-5.0.3 → making_with_code_cli-5.1.0}/src/making_with_code_cli/errors.py +0 -0
  13. {making_with_code_cli-5.0.3 → making_with_code_cli-5.1.0}/src/making_with_code_cli/git_backend/__init__.py +0 -0
  14. {making_with_code_cli-5.0.3 → making_with_code_cli-5.1.0}/src/making_with_code_cli/git_backend/base_backend.py +0 -0
  15. {making_with_code_cli-5.0.3 → making_with_code_cli-5.1.0}/src/making_with_code_cli/git_backend/mwc_backend.py +0 -0
  16. {making_with_code_cli-5.0.3 → making_with_code_cli-5.1.0}/src/making_with_code_cli/git_wrapper.py +0 -0
  17. {making_with_code_cli-5.0.3 → making_with_code_cli-5.1.0}/src/making_with_code_cli/helpers.py +0 -0
  18. {making_with_code_cli-5.0.3 → making_with_code_cli-5.1.0}/src/making_with_code_cli/settings.py +0 -0
  19. {making_with_code_cli-5.0.3 → making_with_code_cli-5.1.0}/src/making_with_code_cli/setup/__init__.py +0 -0
  20. {making_with_code_cli-5.0.3 → making_with_code_cli-5.1.0}/src/making_with_code_cli/setup/tasks.py +0 -0
  21. {making_with_code_cli-5.0.3 → making_with_code_cli-5.1.0}/src/making_with_code_cli/styles.py +0 -0
  22. {making_with_code_cli-5.0.3 → making_with_code_cli-5.1.0}/src/making_with_code_cli/submit.py +0 -0
  23. {making_with_code_cli-5.0.3 → making_with_code_cli-5.1.0}/src/making_with_code_cli/teach/__init__.py +0 -0
  24. {making_with_code_cli-5.0.3 → making_with_code_cli-5.1.0}/src/making_with_code_cli/teach/assess.py +0 -0
  25. {making_with_code_cli-5.0.3 → making_with_code_cli-5.1.0}/src/making_with_code_cli/teach/check/__init__.py +0 -0
  26. {making_with_code_cli-5.0.3 → making_with_code_cli-5.1.0}/src/making_with_code_cli/teach/check/check_module.py +0 -0
  27. {making_with_code_cli-5.0.3 → making_with_code_cli-5.1.0}/src/making_with_code_cli/teach/gitea_api/api.py +0 -0
  28. {making_with_code_cli-5.0.3 → making_with_code_cli-5.1.0}/src/making_with_code_cli/teach/gitea_api/exceptions.py +0 -0
  29. {making_with_code_cli-5.0.3 → making_with_code_cli-5.1.0}/src/making_with_code_cli/teach/log.py +0 -0
  30. {making_with_code_cli-5.0.3 → making_with_code_cli-5.1.0}/src/making_with_code_cli/teach/patch.py +0 -0
  31. {making_with_code_cli-5.0.3 → making_with_code_cli-5.1.0}/src/making_with_code_cli/teach/section/create.py +0 -0
  32. {making_with_code_cli-5.0.3 → making_with_code_cli-5.1.0}/src/making_with_code_cli/teach/section/show.py +0 -0
  33. {making_with_code_cli-5.0.3 → making_with_code_cli-5.1.0}/src/making_with_code_cli/teach/setup.py +0 -0
  34. {making_with_code_cli-5.0.3 → making_with_code_cli-5.1.0}/src/making_with_code_cli/teach/status.py +0 -0
  35. {making_with_code_cli-5.0.3 → making_with_code_cli-5.1.0}/src/making_with_code_cli/teach/student/__init__.py +0 -0
  36. {making_with_code_cli-5.0.3 → making_with_code_cli-5.1.0}/src/making_with_code_cli/teach/student/create.py +0 -0
  37. {making_with_code_cli-5.0.3 → making_with_code_cli-5.1.0}/src/making_with_code_cli/teach/student/update.py +0 -0
  38. {making_with_code_cli-5.0.3 → making_with_code_cli-5.1.0}/src/making_with_code_cli/teach/student_repo_functions.py +0 -0
  39. {making_with_code_cli-5.0.3 → making_with_code_cli-5.1.0}/src/making_with_code_cli/teach/student_repos.py +0 -0
  40. {making_with_code_cli-5.0.3 → making_with_code_cli-5.1.0}/src/making_with_code_cli/teach/update.py +0 -0
  41. {making_with_code_cli-5.0.3 → making_with_code_cli-5.1.0}/src/making_with_code_cli/update/__init__.py +0 -0
  42. {making_with_code_cli-5.0.3 → making_with_code_cli-5.1.0}/src/making_with_code_cli/version.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: making-with-code-cli
3
- Version: 5.0.3
3
+ Version: 5.1.0
4
4
  Summary: Courseware for Making With Code
5
5
  Author: Chris Proctor
6
6
  Author-email: Chris Proctor <chris@chrisproctor.net>
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "making-with-code-cli"
3
- version = "5.0.3"
3
+ version = "5.1.0"
4
4
  description = "Courseware for Making With Code"
5
5
  authors = [{ name = "Chris Proctor", email = "chris@chrisproctor.net" }]
6
6
  requires-python = ">=3.11,<4.0"
@@ -46,6 +46,10 @@ class MWCAccountsAPI:
46
46
  response = self.put("/sections", data=params, token=token)
47
47
  return self.handle_response(response)
48
48
 
49
+ def delete_section(self, token, params):
50
+ response = self.delete("/sections", data=params, token=token)
51
+ return self.handle_response(response)
52
+
49
53
  def get(self, url, data=None, token=None):
50
54
  return self.http_request("get", url, data=data, token=token)
51
55
 
@@ -55,6 +59,9 @@ class MWCAccountsAPI:
55
59
  def put(self, url, data=None, token=None):
56
60
  return self.http_request("put", url, data=data, token=token)
57
61
 
62
+ def delete(self, url, data=None, token=None):
63
+ return self.http_request("delete", url, data=data, token=token)
64
+
58
65
  def http_request(self, method, url, data=None, token=None):
59
66
  fn = getattr(requests, method)
60
67
  headers = {"Authorization": f"Token {token}"} if token else None
@@ -8,8 +8,9 @@ from making_with_code_cli.styles import (
8
8
  )
9
9
  from making_with_code_cli.teach.setup import check_required_teacher_settings
10
10
  from making_with_code_cli.teach.section.create import create_section
11
- from making_with_code_cli.teach.section.edit import edit_section
12
11
  from making_with_code_cli.teach.section.show import show_section
12
+ from making_with_code_cli.teach.section.edit import edit_section
13
+ from making_with_code_cli.teach.section.delete import delete_section
13
14
 
14
15
  @click.group(invoke_without_command=True)
15
16
  @click.pass_context
@@ -42,6 +43,7 @@ def summarize_sections(section_data):
42
43
  return section_data
43
44
 
44
45
  section.add_command(create_section)
45
- section.add_command(edit_section)
46
46
  section.add_command(show_section)
47
+ section.add_command(edit_section)
48
+ section.add_command(delete_section)
47
49
 
@@ -0,0 +1,24 @@
1
+ import click
2
+ from making_with_code_cli.settings import read_settings
3
+ from making_with_code_cli.mwc_accounts_api import MWCAccountsAPI
4
+ from making_with_code_cli.styles import (
5
+ address,
6
+ error,
7
+ info,
8
+ question,
9
+ )
10
+
11
+ @click.command('delete')
12
+ @click.argument("slug")
13
+ @click.option("--config", help="Path to config file (default: ~/.mwc)")
14
+ def delete_section(slug, config):
15
+ "Delete a section"
16
+ settings = read_settings(config)
17
+ api = MWCAccountsAPI(settings.get('mwc_accounts_url'))
18
+ params = {"slug": slug}
19
+ try:
20
+ response = api.delete_section(settings.get('mwc_accounts_token'), params)
21
+ click.echo(info(f"Deleted section {slug}."))
22
+ except api.RequestFailed as err:
23
+ click.echo(error(f"Error deleting section {slug}."))
24
+
@@ -19,7 +19,7 @@ from making_with_code_cli.styles import (
19
19
  @click.option("--course-name", help="MWC course name")
20
20
  @click.option("--code", help="Code students can use to join the section")
21
21
  @click.option("--roster", help="csv file containing student information")
22
- def edit_section(config, slug, name, curriculum_site_url, course_name, code, roster):
22
+ def edit_section(slug, config, name, curriculum_site_url, course_name, code, roster):
23
23
  "Edit an existing section"
24
24
  settings = read_settings(config)
25
25
  api = MWCAccountsAPI(settings.get('mwc_accounts_url'))