daktari 0.0.234__py3-none-any.whl → 0.0.236__py3-none-any.whl

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 daktari might be problematic. Click here for more details.

daktari/__init__.py CHANGED
@@ -1 +1 @@
1
- __version__ = "0.0.234"
1
+ __version__ = "0.0.236"
daktari/checks/files.py CHANGED
@@ -47,17 +47,24 @@ class DirExists(DirsExist):
47
47
  class FilesOwnedByUser(Check):
48
48
  name = "files.ownedByUser"
49
49
 
50
- def __init__(self, file_paths: List[str], expected_owner: str = "root", pass_fail_message: str = ""):
50
+ def __init__(
51
+ self,
52
+ file_paths: List[str],
53
+ expected_owner: str = "root",
54
+ pass_fail_message: str = "",
55
+ follow_symlinks: bool = False,
56
+ ):
51
57
  self.file_paths = file_paths
52
58
  self.expected_owner = expected_owner
53
59
  file_paths_str = ", ".join(file_paths)
54
60
  self.pass_fail_message = pass_fail_message or f"{file_paths_str} are <not/> owned by {expected_owner}"
61
+ self.follow_symlinks = follow_symlinks
55
62
 
56
63
  def check(self) -> CheckResult:
57
64
  for file_path in self.file_paths:
58
65
  expanded_file_path = expanduser(file_path)
59
66
  if file_exists(expanded_file_path):
60
- if get_file_owner(expanded_file_path) != self.expected_owner:
67
+ if get_file_owner(expanded_file_path, self.follow_symlinks) != self.expected_owner:
61
68
  return self.verify(False, self.pass_fail_message)
62
69
  else:
63
70
  return self.failed(f"{expanded_file_path} is not present")
daktari/file_utils.py CHANGED
@@ -47,6 +47,6 @@ def dir_exists(path: str) -> bool:
47
47
  return testing_dir.is_dir()
48
48
 
49
49
 
50
- def get_file_owner(file_path: str) -> str:
51
- file_stat = os.stat(file_path)
50
+ def get_file_owner(file_path: str, follow_symlinks: bool = False) -> str:
51
+ file_stat = os.stat(file_path, follow_symlinks=follow_symlinks)
52
52
  return getpwuid(file_stat.st_uid).pw_name
@@ -1,41 +1,40 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: daktari
3
- Version: 0.0.234
3
+ Version: 0.0.236
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
7
7
  Author-email: matthew.russell@sonocent.com
8
8
  License: MIT
9
- Platform: UNKNOWN
10
9
  Classifier: License :: OSI Approved :: MIT License
11
10
  Classifier: Programming Language :: Python
12
11
  Requires-Python: >=3.9
13
12
  Description-Content-Type: text/markdown
14
13
  License-File: LICENSE.txt
15
- Requires-Dist: PyYAML (==5.3.1)
16
- Requires-Dist: ansicolors (==1.1.8)
17
- Requires-Dist: distro (==1.9.0)
18
- Requires-Dist: dpath (==2.2.0)
19
- Requires-Dist: importlib-resources (==6.5.2)
20
- Requires-Dist: packaging (==20.9)
21
- Requires-Dist: pyOpenSSL (==25.0.0)
22
- Requires-Dist: pyclip (==0.7.0)
23
- Requires-Dist: pyfiglet (==0.8.post1)
24
- Requires-Dist: python-hosts (==1.0.7)
25
- Requires-Dist: requests-unixsocket (==0.3.0)
26
- Requires-Dist: requests (==2.32.3)
27
- Requires-Dist: responses (==0.25.5)
28
- Requires-Dist: semver (==3.0.2)
29
- Requires-Dist: setuptools (==70.3.0)
30
- Requires-Dist: tabulate (==0.9.0)
31
- Requires-Dist: types-PyYAML (==6.0.12.20241230)
32
- Requires-Dist: types-pyOpenSSL (==24.1.0.20240722)
33
- Requires-Dist: types-tabulate (==0.9.0.20241207)
34
- Requires-Dist: urllib3 (<1.27)
35
- Requires-Dist: dataclasses (==0.8) ; python_version < "3.7"
36
- Requires-Dist: types-dataclasses (==0.1.5) ; python_version < "3.7"
37
- Requires-Dist: pyobjc-core (==10.3.2) ; sys_platform == "darwin"
38
- Requires-Dist: pyobjc-framework-Cocoa (==10.3.2) ; sys_platform == "darwin"
14
+ Requires-Dist: PyYAML ==5.3.1
15
+ Requires-Dist: ansicolors ==1.1.8
16
+ Requires-Dist: distro ==1.9.0
17
+ Requires-Dist: dpath ==2.2.0
18
+ Requires-Dist: importlib-resources ==6.5.2
19
+ Requires-Dist: packaging ==20.9
20
+ Requires-Dist: pyOpenSSL ==25.0.0
21
+ Requires-Dist: pyclip ==0.7.0
22
+ Requires-Dist: pyfiglet ==0.8.post1
23
+ Requires-Dist: python-hosts ==1.0.7
24
+ Requires-Dist: requests-unixsocket ==0.3.0
25
+ Requires-Dist: requests ==2.32.3
26
+ Requires-Dist: responses ==0.25.6
27
+ Requires-Dist: semver ==3.0.2
28
+ Requires-Dist: setuptools ==70.3.0
29
+ Requires-Dist: tabulate ==0.9.0
30
+ Requires-Dist: types-PyYAML ==6.0.12.20241230
31
+ Requires-Dist: types-pyOpenSSL ==24.1.0.20240722
32
+ Requires-Dist: types-tabulate ==0.9.0.20241207
33
+ Requires-Dist: urllib3 <1.27
34
+ Requires-Dist: dataclasses ==0.8 ; python_version < "3.7"
35
+ Requires-Dist: types-dataclasses ==0.1.5 ; python_version < "3.7"
36
+ Requires-Dist: pyobjc-core ==10.3.2 ; sys_platform == "darwin"
37
+ Requires-Dist: pyobjc-framework-Cocoa ==11.0 ; sys_platform == "darwin"
39
38
 
40
39
  **Daktari** is a tool to help the initial setup and ongoing maintenance of developer environments. It runs a series of checks (for example, that required software is installed) and provides suggestions on how to fix the issue if the check fails.
41
40
 
@@ -46,7 +45,7 @@ In the root of the project repository, create a `.daktari.py` configuration file
46
45
  ```python
47
46
  from daktari.checks.git import *
48
47
 
49
- version = "0.0.234"
48
+ version = "0.0.236"
50
49
  title = "My Project"
51
50
 
52
51
  checks = [
@@ -112,5 +111,3 @@ python setup.py sdist bdist_wheel
112
111
  twine check dist/*
113
112
  twine upload dist/*
114
113
  ```
115
-
116
-
@@ -1,4 +1,4 @@
1
- daktari/__init__.py,sha256=vMFL38CroUqRtHz9_CVi0OkxrX-L2vNhZ5_odYFi3Nk,24
1
+ daktari/__init__.py,sha256=EwwcoNjGqnpfpgiI_Pb47D-v2WWzhkSCWlkTywCIhCM,24
2
2
  daktari/__main__.py,sha256=iYwgtZZE2HD9Eh9Io6OliGQwCNZJSde_66jI6kF8xJU,1463
3
3
  daktari/asdf.py,sha256=fALVL6UTz1AYxuabw9MZeAES7J_CvImutUDD1Y2yWwM,509
4
4
  daktari/check.py,sha256=WzIiCrrdH7gCbElNwYbYkjhpmaOs_nUWfvkTBkfZlgs,4133
@@ -8,7 +8,7 @@ daktari/check_utils.py,sha256=rrmYWdekusXT4A2Tecbry_eV9DNt7bN9L5R0IJSPm5k,1027
8
8
  daktari/collection_utils.py,sha256=JOCcaSkXFPbj2ROszTS-FGv1s35HgHv0MCWgaHio4XE,165
9
9
  daktari/command_utils.py,sha256=3s3A3urin40eK40q9bzVnWGsSuU27FZbRkoDotlVKFk,2355
10
10
  daktari/config.py,sha256=75l_jhq7tcCIdl78RMcUlUu1fiG8cqKtwC3yV_H5FVE,6719
11
- daktari/file_utils.py,sha256=C9neqCkF8QOQkOt9AGcynzaIvIKg0YKIoqb_mHjFwfQ,1187
11
+ daktari/file_utils.py,sha256=R2WA7XCtSx68cjdlJtBd6iIr1MEmR3fQDVTgSNvoBx4,1251
12
12
  daktari/options.py,sha256=DTTCqn3BdfncWkkAFyag239fxgyxIo3IkM0R9bZhXgQ,1440
13
13
  daktari/os.py,sha256=usoya1LQThE68aXUfbgq67hJlHmtbEZtXpi7oRfnXXY,767
14
14
  daktari/resource_utils.py,sha256=LibGDZYOni6iVQq6OjF0cvFZrP5QmAmHoNKe4G_3BRc,331
@@ -31,7 +31,7 @@ daktari/checks/certs.py,sha256=_Q_1tNEwDoO-q-vPx2wOmGYqN-s4osK4gSRpKU5TFbU,1262
31
31
  daktari/checks/conan.py,sha256=_IWjb5wkbxh-dR6DnEaMpmgzIOkuLWnfMos8sRDmLek,4061
32
32
  daktari/checks/direnv.py,sha256=4J2GjbCX-2r7vxuRrNayGa2aq0WcNO07VFtgUvYU0Rc,2271
33
33
  daktari/checks/docker.py,sha256=8bmasFOvcCdVn95JHuI4uLqZoT43A06lNscFUfbEKjM,1560
34
- daktari/checks/files.py,sha256=E9REDXly96K6e4rVXIDbpNiXlgYiQmiS3CdlloxlqNo,2239
34
+ daktari/checks/files.py,sha256=Rth-b1XuZw-AjG3Uwg1ZTc6ItBhQ-U6ZP6VzrOzdRhU,2386
35
35
  daktari/checks/flutter.py,sha256=1TI19pIiLVrAuJvoPMXzgX1yOVq6Q5K0TwHNSAUdR_g,1536
36
36
  daktari/checks/git.py,sha256=yII22HkvhjGM4bpr3wiLvPxi1pSBPiQcxdTyjqPXji4,6508
37
37
  daktari/checks/google.py,sha256=pVbMVWe_mcZ5v-Y6COMwjpMIRopSqzVvgwAQVA4x_Tc,4643
@@ -56,9 +56,9 @@ daktari/checks/yarn.py,sha256=T8b_oOoZ4l96delmPgPfgtaTkiUS129hoWlGIBcU7Io,5534
56
56
  daktari/resources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
57
57
  daktari/resources/daktari-local-template.yaml,sha256=ik7KzMcG1r90nxDOk7t5G7P-BSxQIl2PocGUVe14c44,503
58
58
  daktari/resources/mock_cert.pem,sha256=AIc9dZOVIuxm7KFLunP5WSA1-LDWLOwpfu48B9xQ_Wg,82
59
- daktari-0.0.234.dist-info/LICENSE.txt,sha256=sMo18UdnQ7rY1SYg9gmop08ubzEQOGO1URYXu1Hxdx0,1051
60
- daktari-0.0.234.dist-info/METADATA,sha256=ELVOqwWpLsEPwdDAILXo1qVurjL63sAd2ta4Pes5I2A,3844
61
- daktari-0.0.234.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92
62
- daktari-0.0.234.dist-info/entry_points.txt,sha256=Sqwxp-qsyRnWwGVHkd3hoeG7aPffCIRB4pouCD9BbYU,51
63
- daktari-0.0.234.dist-info/top_level.txt,sha256=LW6kawKAAyxUbGqpAbdedKRUyVy2DBzEZOalp0qDdF8,8
64
- daktari-0.0.234.dist-info/RECORD,,
59
+ daktari-0.0.236.dist-info/LICENSE.txt,sha256=sMo18UdnQ7rY1SYg9gmop08ubzEQOGO1URYXu1Hxdx0,1051
60
+ daktari-0.0.236.dist-info/METADATA,sha256=KhGs6RRDtVfnH2lL-y9PSG-8k8fvF98s-dThiREMSlQ,3774
61
+ daktari-0.0.236.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
62
+ daktari-0.0.236.dist-info/entry_points.txt,sha256=mfQXkwKyloAzf7sv78icBo1PtRwf9hCP_816F6REf-I,50
63
+ daktari-0.0.236.dist-info/top_level.txt,sha256=LW6kawKAAyxUbGqpAbdedKRUyVy2DBzEZOalp0qDdF8,8
64
+ daktari-0.0.236.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.37.1)
2
+ Generator: bdist_wheel (0.42.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,3 +1,2 @@
1
1
  [console_scripts]
2
2
  daktari = daktari.__main__:main
3
-