making-with-code-cli 5.0.2__tar.gz → 5.0.3__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 (41) hide show
  1. {making_with_code_cli-5.0.2 → making_with_code_cli-5.0.3}/PKG-INFO +1 -1
  2. {making_with_code_cli-5.0.2 → making_with_code_cli-5.0.3}/pyproject.toml +1 -1
  3. {making_with_code_cli-5.0.2 → making_with_code_cli-5.0.3}/src/making_with_code_cli/settings.py +1 -1
  4. {making_with_code_cli-5.0.2 → making_with_code_cli-5.0.3}/src/making_with_code_cli/setup/__init__.py +2 -0
  5. {making_with_code_cli-5.0.2 → making_with_code_cli-5.0.3}/src/making_with_code_cli/setup/tasks.py +36 -0
  6. {making_with_code_cli-5.0.2 → making_with_code_cli-5.0.3}/README.md +0 -0
  7. {making_with_code_cli-5.0.2 → making_with_code_cli-5.0.3}/src/making_with_code_cli/__init__.py +0 -0
  8. {making_with_code_cli-5.0.2 → making_with_code_cli-5.0.3}/src/making_with_code_cli/cli.py +0 -0
  9. {making_with_code_cli-5.0.2 → making_with_code_cli-5.0.3}/src/making_with_code_cli/curriculum.py +0 -0
  10. {making_with_code_cli-5.0.2 → making_with_code_cli-5.0.3}/src/making_with_code_cli/decorators.py +0 -0
  11. {making_with_code_cli-5.0.2 → making_with_code_cli-5.0.3}/src/making_with_code_cli/errors.py +0 -0
  12. {making_with_code_cli-5.0.2 → making_with_code_cli-5.0.3}/src/making_with_code_cli/git_backend/__init__.py +0 -0
  13. {making_with_code_cli-5.0.2 → making_with_code_cli-5.0.3}/src/making_with_code_cli/git_backend/base_backend.py +0 -0
  14. {making_with_code_cli-5.0.2 → making_with_code_cli-5.0.3}/src/making_with_code_cli/git_backend/mwc_backend.py +0 -0
  15. {making_with_code_cli-5.0.2 → making_with_code_cli-5.0.3}/src/making_with_code_cli/git_wrapper.py +0 -0
  16. {making_with_code_cli-5.0.2 → making_with_code_cli-5.0.3}/src/making_with_code_cli/helpers.py +0 -0
  17. {making_with_code_cli-5.0.2 → making_with_code_cli-5.0.3}/src/making_with_code_cli/mwc_accounts_api.py +0 -0
  18. {making_with_code_cli-5.0.2 → making_with_code_cli-5.0.3}/src/making_with_code_cli/styles.py +0 -0
  19. {making_with_code_cli-5.0.2 → making_with_code_cli-5.0.3}/src/making_with_code_cli/submit.py +0 -0
  20. {making_with_code_cli-5.0.2 → making_with_code_cli-5.0.3}/src/making_with_code_cli/teach/__init__.py +0 -0
  21. {making_with_code_cli-5.0.2 → making_with_code_cli-5.0.3}/src/making_with_code_cli/teach/assess.py +0 -0
  22. {making_with_code_cli-5.0.2 → making_with_code_cli-5.0.3}/src/making_with_code_cli/teach/check/__init__.py +0 -0
  23. {making_with_code_cli-5.0.2 → making_with_code_cli-5.0.3}/src/making_with_code_cli/teach/check/check_module.py +0 -0
  24. {making_with_code_cli-5.0.2 → making_with_code_cli-5.0.3}/src/making_with_code_cli/teach/gitea_api/api.py +0 -0
  25. {making_with_code_cli-5.0.2 → making_with_code_cli-5.0.3}/src/making_with_code_cli/teach/gitea_api/exceptions.py +0 -0
  26. {making_with_code_cli-5.0.2 → making_with_code_cli-5.0.3}/src/making_with_code_cli/teach/log.py +0 -0
  27. {making_with_code_cli-5.0.2 → making_with_code_cli-5.0.3}/src/making_with_code_cli/teach/patch.py +0 -0
  28. {making_with_code_cli-5.0.2 → making_with_code_cli-5.0.3}/src/making_with_code_cli/teach/section/__init__.py +0 -0
  29. {making_with_code_cli-5.0.2 → making_with_code_cli-5.0.3}/src/making_with_code_cli/teach/section/create.py +0 -0
  30. {making_with_code_cli-5.0.2 → making_with_code_cli-5.0.3}/src/making_with_code_cli/teach/section/edit.py +0 -0
  31. {making_with_code_cli-5.0.2 → making_with_code_cli-5.0.3}/src/making_with_code_cli/teach/section/show.py +0 -0
  32. {making_with_code_cli-5.0.2 → making_with_code_cli-5.0.3}/src/making_with_code_cli/teach/setup.py +0 -0
  33. {making_with_code_cli-5.0.2 → making_with_code_cli-5.0.3}/src/making_with_code_cli/teach/status.py +0 -0
  34. {making_with_code_cli-5.0.2 → making_with_code_cli-5.0.3}/src/making_with_code_cli/teach/student/__init__.py +0 -0
  35. {making_with_code_cli-5.0.2 → making_with_code_cli-5.0.3}/src/making_with_code_cli/teach/student/create.py +0 -0
  36. {making_with_code_cli-5.0.2 → making_with_code_cli-5.0.3}/src/making_with_code_cli/teach/student/update.py +0 -0
  37. {making_with_code_cli-5.0.2 → making_with_code_cli-5.0.3}/src/making_with_code_cli/teach/student_repo_functions.py +0 -0
  38. {making_with_code_cli-5.0.2 → making_with_code_cli-5.0.3}/src/making_with_code_cli/teach/student_repos.py +0 -0
  39. {making_with_code_cli-5.0.2 → making_with_code_cli-5.0.3}/src/making_with_code_cli/teach/update.py +0 -0
  40. {making_with_code_cli-5.0.2 → making_with_code_cli-5.0.3}/src/making_with_code_cli/update/__init__.py +0 -0
  41. {making_with_code_cli-5.0.2 → making_with_code_cli-5.0.3}/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.2
3
+ Version: 5.0.3
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.2"
3
+ version = "5.0.3"
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"
@@ -15,7 +15,7 @@ def get_settings_path(settings_path=None):
15
15
  return Path(os.environ["MWC_CONFIG"])
16
16
  else:
17
17
  xdg_config_home = Path(os.environ.get("XDG_CONFIG_HOME", Path.home() / ".config"))
18
- return xdg_config_home / "settings.toml"
18
+ return xdg_config_home / "mwc" / "settings.toml"
19
19
 
20
20
  def read_settings(settings_path=None):
21
21
  """Reads the settings file and returns a dict.
@@ -31,6 +31,7 @@ from making_with_code_cli.setup.tasks import (
31
31
  choose_editor,
32
32
  WriteMWCShellConfig,
33
33
  SourceMWCShellConfig,
34
+ SuppressDirenvDiffs,
34
35
  InstallXCode,
35
36
  InstallDirenv,
36
37
  InstallGit,
@@ -104,6 +105,7 @@ def setup(ctx, config, debug, git_name, git_email, mwc_accounts_url):
104
105
  WriteMWCShellConfig,
105
106
  SourceMWCShellConfig,
106
107
  InstallXCode,
108
+ SuppressDirenvDiffs,
107
109
  InstallDirenv,
108
110
  InstallGit,
109
111
  InstallTree,
@@ -5,6 +5,7 @@ import sys
5
5
  import os
6
6
  import re
7
7
  import platform
8
+ import tomlkit
8
9
  from importlib.util import find_spec
9
10
  from making_with_code_cli.mwc_accounts_api import MWCAccountsAPI
10
11
  from making_with_code_cli.styles import (
@@ -287,6 +288,41 @@ class SourceMWCShellConfig(SetupTask):
287
288
  fh.write(f"source {get_mwc_rc_path()}\n")
288
289
  click.echo(info(f"Updated your shell login file ({rc_file}). You may need to close and reopen Terminal."))
289
290
 
291
+ class SuppressDirenvDiffs(SetupTask):
292
+ "Tell direnv not to pring out diffs when changing dirs"
293
+ description = "Write direnv config file"
294
+
295
+ def is_complete(self):
296
+ if self.settings.get("skip_direnv_config") == True:
297
+ return True
298
+ f = self.get_direnv_config_file()
299
+ if not f.exists():
300
+ return False
301
+ with open(f, 'rb') as fh:
302
+ direnv_conf = tomlkit.load(fh)
303
+ g = direnv_conf.get("global", {})
304
+ return g.get("hide_env_diff") == True and g.get("log_filter") == "^$"
305
+
306
+ def run_task(self):
307
+ f = self.get_direnv_config_file()
308
+ if f.exists():
309
+ with open(f, 'rb') as fh:
310
+ direnv_conf = tomlkit.load(fh)
311
+ else:
312
+ f.parent.mkdir(parents=True)
313
+ direnv_conf = {}
314
+ if 'global' not in direnv_conf:
315
+ direnv_conf['global'] = {}
316
+ direnv_conf["global"]["hide_env_diff"] = True
317
+ direnv_conf["global"]["log_filter"] = "^$"
318
+ with open(f, 'w') as fh:
319
+ tomlkit.dump(direnv_conf, fh)
320
+
321
+ def get_direnv_config_file(self):
322
+ config_home = os.environ.get("XDG_CONFIG_HOME", Path.home() / ".config")
323
+ return Path(config_home) / "direnv" / "direnv.toml"
324
+
325
+
290
326
  class InstallXCode(SetupTask):
291
327
  description = "Install XCode"
292
328
  platform = Platform.MAC