daktari 0.0.223__tar.gz → 0.0.224__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 (73) hide show
  1. {daktari-0.0.223/daktari.egg-info → daktari-0.0.224}/PKG-INFO +2 -2
  2. {daktari-0.0.223 → daktari-0.0.224}/README.md +1 -1
  3. daktari-0.0.224/daktari/__init__.py +1 -0
  4. {daktari-0.0.223 → daktari-0.0.224}/daktari/checks/files.py +22 -1
  5. {daktari-0.0.223 → daktari-0.0.224}/daktari/file_utils.py +6 -0
  6. {daktari-0.0.223 → daktari-0.0.224/daktari.egg-info}/PKG-INFO +2 -2
  7. {daktari-0.0.223 → daktari-0.0.224}/setup.py +1 -1
  8. daktari-0.0.223/daktari/__init__.py +0 -1
  9. {daktari-0.0.223 → daktari-0.0.224}/LICENSE.txt +0 -0
  10. {daktari-0.0.223 → daktari-0.0.224}/MANIFEST.in +0 -0
  11. {daktari-0.0.223 → daktari-0.0.224}/daktari/__main__.py +0 -0
  12. {daktari-0.0.223 → daktari-0.0.224}/daktari/asdf.py +0 -0
  13. {daktari-0.0.223 → daktari-0.0.224}/daktari/check.py +0 -0
  14. {daktari-0.0.223 → daktari-0.0.224}/daktari/check_runner.py +0 -0
  15. {daktari-0.0.223 → daktari-0.0.224}/daktari/check_sorter.py +0 -0
  16. {daktari-0.0.223 → daktari-0.0.224}/daktari/check_utils.py +0 -0
  17. {daktari-0.0.223 → daktari-0.0.224}/daktari/checks/__init__.py +0 -0
  18. {daktari-0.0.223 → daktari-0.0.224}/daktari/checks/android.py +0 -0
  19. {daktari-0.0.223 → daktari-0.0.224}/daktari/checks/aws.py +0 -0
  20. {daktari-0.0.223 → daktari-0.0.224}/daktari/checks/certs.py +0 -0
  21. {daktari-0.0.223 → daktari-0.0.224}/daktari/checks/conan.py +0 -0
  22. {daktari-0.0.223 → daktari-0.0.224}/daktari/checks/direnv.py +0 -0
  23. {daktari-0.0.223 → daktari-0.0.224}/daktari/checks/docker.py +0 -0
  24. {daktari-0.0.223 → daktari-0.0.224}/daktari/checks/flutter.py +0 -0
  25. {daktari-0.0.223 → daktari-0.0.224}/daktari/checks/git.py +0 -0
  26. {daktari-0.0.223 → daktari-0.0.224}/daktari/checks/google.py +0 -0
  27. {daktari-0.0.223 → daktari-0.0.224}/daktari/checks/intellij_idea.py +0 -0
  28. {daktari-0.0.223 → daktari-0.0.224}/daktari/checks/java.py +0 -0
  29. {daktari-0.0.223 → daktari-0.0.224}/daktari/checks/kubernetes.py +0 -0
  30. {daktari-0.0.223 → daktari-0.0.224}/daktari/checks/misc.py +0 -0
  31. {daktari-0.0.223 → daktari-0.0.224}/daktari/checks/nodejs.py +0 -0
  32. {daktari-0.0.223 → daktari-0.0.224}/daktari/checks/onepassword.py +0 -0
  33. {daktari-0.0.223 → daktari-0.0.224}/daktari/checks/python.py +0 -0
  34. {daktari-0.0.223 → daktari-0.0.224}/daktari/checks/ssh.py +0 -0
  35. {daktari-0.0.223 → daktari-0.0.224}/daktari/checks/terraform.py +0 -0
  36. {daktari-0.0.223 → daktari-0.0.224}/daktari/checks/test_certs.py +0 -0
  37. {daktari-0.0.223 → daktari-0.0.224}/daktari/checks/test_intellij_idea.py +0 -0
  38. {daktari-0.0.223 → daktari-0.0.224}/daktari/checks/test_java.py +0 -0
  39. {daktari-0.0.223 → daktari-0.0.224}/daktari/checks/test_misc.py +0 -0
  40. {daktari-0.0.223 → daktari-0.0.224}/daktari/checks/test_onepassword.py +0 -0
  41. {daktari-0.0.223 → daktari-0.0.224}/daktari/checks/test_ssh.py +0 -0
  42. {daktari-0.0.223 → daktari-0.0.224}/daktari/checks/test_yarn.py +0 -0
  43. {daktari-0.0.223 → daktari-0.0.224}/daktari/checks/xml.py +0 -0
  44. {daktari-0.0.223 → daktari-0.0.224}/daktari/checks/yarn.py +0 -0
  45. {daktari-0.0.223 → daktari-0.0.224}/daktari/collection_utils.py +0 -0
  46. {daktari-0.0.223 → daktari-0.0.224}/daktari/command_utils.py +0 -0
  47. {daktari-0.0.223 → daktari-0.0.224}/daktari/config.py +0 -0
  48. {daktari-0.0.223 → daktari-0.0.224}/daktari/options.py +0 -0
  49. {daktari-0.0.223 → daktari-0.0.224}/daktari/os.py +0 -0
  50. {daktari-0.0.223 → daktari-0.0.224}/daktari/resource_utils.py +0 -0
  51. {daktari-0.0.223 → daktari-0.0.224}/daktari/resources/__init__.py +0 -0
  52. {daktari-0.0.223 → daktari-0.0.224}/daktari/resources/daktari-local-template.yaml +0 -0
  53. {daktari-0.0.223 → daktari-0.0.224}/daktari/resources/mock_cert.pem +0 -0
  54. {daktari-0.0.223 → daktari-0.0.224}/daktari/result_printer.py +0 -0
  55. {daktari-0.0.223 → daktari-0.0.224}/daktari/test_asdf.py +0 -0
  56. {daktari-0.0.223 → daktari-0.0.224}/daktari/test_check.py +0 -0
  57. {daktari-0.0.223 → daktari-0.0.224}/daktari/test_check_factory.py +0 -0
  58. {daktari-0.0.223 → daktari-0.0.224}/daktari/test_check_runner.py +0 -0
  59. {daktari-0.0.223 → daktari-0.0.224}/daktari/test_check_sorter.py +0 -0
  60. {daktari-0.0.223 → daktari-0.0.224}/daktari/test_check_utils.py +0 -0
  61. {daktari-0.0.223 → daktari-0.0.224}/daktari/test_collection_utils.py +0 -0
  62. {daktari-0.0.223 → daktari-0.0.224}/daktari/test_config.py +0 -0
  63. {daktari-0.0.223 → daktari-0.0.224}/daktari/test_result_printer.py +0 -0
  64. {daktari-0.0.223 → daktari-0.0.224}/daktari/test_version_utils.py +0 -0
  65. {daktari-0.0.223 → daktari-0.0.224}/daktari/version_utils.py +0 -0
  66. {daktari-0.0.223 → daktari-0.0.224}/daktari.egg-info/SOURCES.txt +0 -0
  67. {daktari-0.0.223 → daktari-0.0.224}/daktari.egg-info/dependency_links.txt +0 -0
  68. {daktari-0.0.223 → daktari-0.0.224}/daktari.egg-info/entry_points.txt +0 -0
  69. {daktari-0.0.223 → daktari-0.0.224}/daktari.egg-info/requires.txt +0 -0
  70. {daktari-0.0.223 → daktari-0.0.224}/daktari.egg-info/top_level.txt +0 -0
  71. {daktari-0.0.223 → daktari-0.0.224}/pyproject.toml +0 -0
  72. {daktari-0.0.223 → daktari-0.0.224}/requirements.txt +0 -0
  73. {daktari-0.0.223 → daktari-0.0.224}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: daktari
3
- Version: 0.0.223
3
+ Version: 0.0.224
4
4
  Summary: Assist in setting up and maintaining developer environments
5
5
  Home-page: https://github.com/sonocent/daktari
6
6
  Author: Matt Russell
@@ -22,7 +22,7 @@ In the root of the project repository, create a `.daktari.py` configuration file
22
22
  ```python
23
23
  from daktari.checks.git import *
24
24
 
25
- version = "0.0.223"
25
+ version = "0.0.224"
26
26
  title = "My Project"
27
27
 
28
28
  checks = [
@@ -7,7 +7,7 @@ In the root of the project repository, create a `.daktari.py` configuration file
7
7
  ```python
8
8
  from daktari.checks.git import *
9
9
 
10
- version = "0.0.223"
10
+ version = "0.0.224"
11
11
  title = "My Project"
12
12
 
13
13
  checks = [
@@ -0,0 +1 @@
1
+ __version__ = "0.0.224"
@@ -2,7 +2,7 @@ from os.path import expanduser
2
2
  from typing import List
3
3
 
4
4
  from daktari.check import Check, CheckResult
5
- from daktari.file_utils import dir_exists, file_exists
5
+ from daktari.file_utils import dir_exists, file_exists, get_file_owner
6
6
  from daktari.os import OS
7
7
 
8
8
 
@@ -42,3 +42,24 @@ class DirExists(DirsExist):
42
42
  self.dir_paths = [dir_path]
43
43
  self.pass_fail_message = f"{dir_path} is <not/> present"
44
44
  self.suggestions = {OS.GENERIC: suggestion}
45
+
46
+
47
+ class FilesOwnedByUser(Check):
48
+ name = "files.ownedByUser"
49
+
50
+ def __init__(self, file_paths: List[str], expected_owner: str = "root", pass_fail_message: str = ""):
51
+ self.file_paths = file_paths
52
+ self.expected_owner = expected_owner
53
+ file_paths_str = ", ".join(file_paths)
54
+ self.pass_fail_message = pass_fail_message or f"{file_paths_str} are <not/> owned by {expected_owner}"
55
+
56
+ def check(self) -> CheckResult:
57
+ for file_path in self.file_paths:
58
+ expanded_file_path = expanduser(file_path)
59
+ if file_exists(expanded_file_path):
60
+ if get_file_owner(expanded_file_path) != self.expected_owner:
61
+ return self.verify(False, self.pass_fail_message)
62
+ else:
63
+ return self.failed(f"{expanded_file_path} is not present")
64
+
65
+ return self.verify(True, self.pass_fail_message)
@@ -4,6 +4,7 @@ from daktari.command_utils import get_stdout
4
4
 
5
5
  import os
6
6
  import re
7
+ from pwd import getpwuid
7
8
 
8
9
 
9
10
  def get_absolute_path(path: str) -> str:
@@ -44,3 +45,8 @@ def file_contains_text_regex(path: str, regex: str) -> bool:
44
45
  def dir_exists(path: str) -> bool:
45
46
  testing_dir = Path(path)
46
47
  return testing_dir.is_dir()
48
+
49
+
50
+ def get_file_owner(file_path: str) -> str:
51
+ file_stat = os.stat(file_path)
52
+ return getpwuid(file_stat.st_uid).pw_name
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: daktari
3
- Version: 0.0.223
3
+ Version: 0.0.224
4
4
  Summary: Assist in setting up and maintaining developer environments
5
5
  Home-page: https://github.com/sonocent/daktari
6
6
  Author: Matt Russell
@@ -22,7 +22,7 @@ In the root of the project repository, create a `.daktari.py` configuration file
22
22
  ```python
23
23
  from daktari.checks.git import *
24
24
 
25
- version = "0.0.223"
25
+ version = "0.0.224"
26
26
  title = "My Project"
27
27
 
28
28
  checks = [
@@ -10,7 +10,7 @@ README = (HERE / "README.md").read_text()
10
10
 
11
11
  setuptools.setup(
12
12
  name="daktari",
13
- version="0.0.223",
13
+ version="0.0.224",
14
14
  description="Assist in setting up and maintaining developer environments",
15
15
  long_description=README,
16
16
  long_description_content_type="text/markdown",
@@ -1 +0,0 @@
1
- __version__ = "0.0.223"
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