atomicshop 2.9.17__py3-none-any.whl → 2.9.19__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 atomicshop might be problematic. Click here for more details.

atomicshop/__init__.py CHANGED
@@ -1,4 +1,4 @@
1
1
  """Atomic Basic functions and classes to make developer life easier"""
2
2
 
3
3
  __author__ = "Den Kras"
4
- __version__ = '2.9.17'
4
+ __version__ = '2.9.19'
atomicshop/permissions.py CHANGED
@@ -4,6 +4,8 @@ import ctypes
4
4
  import contextlib
5
5
  import subprocess
6
6
 
7
+ from . import process
8
+
7
9
 
8
10
  def is_admin() -> bool:
9
11
  """
@@ -25,6 +27,25 @@ def is_admin() -> bool:
25
27
  return result
26
28
 
27
29
 
30
+ def request_sudo_on_ubuntu():
31
+ """
32
+ The function tries to request sudo on Ubuntu for the user to enter the password.
33
+
34
+ :return:
35
+ """
36
+
37
+ script = """
38
+ if [ "$EUID" -ne 0 ]; then
39
+ echo "This script requires root privileges. Please enter your password for sudo access."
40
+ sudo -v
41
+ while true; do sudo -n true; sleep 60; kill -0 "$$" || exit; done 2>/dev/null &
42
+ fi
43
+ # Your bash commands that require sudo here
44
+ """
45
+
46
+ process.execute_script(script, shell=True)
47
+
48
+
28
49
  def set_executable_permission(file_path: str):
29
50
  """
30
51
  Function sets the executable permission on a file.
@@ -71,6 +71,8 @@ def install_docker_ubuntu():
71
71
 
72
72
  process.execute_script(script, shell=True)
73
73
 
74
+ subprocess.check_call(['sudo', 'usermod', '-aG', 'docker', '$USER'])
75
+
74
76
  # Verify the installation.
75
77
  result: list = process.execute_with_live_output('sudo docker run hello-world')
76
78
 
@@ -3,6 +3,7 @@ from pathlib import Path
3
3
  import sys
4
4
 
5
5
  from .... import permissions, filesystem
6
+ from ....print_api import print_api
6
7
  from ... import githubw
7
8
  from ...dockerw import install_docker
8
9
  from .. import config_install
@@ -20,8 +21,9 @@ def install_before_restart(installation_directory: str, remove_existing_installa
20
21
  """
21
22
 
22
23
  if not permissions.is_admin():
23
- print("This script requires root privileges...")
24
- sys.exit(0)
24
+ permissions.request_sudo_on_ubuntu()
25
+ print_api("This script requires root privileges...", color='red')
26
+ sys.exit(1)
25
27
 
26
28
  docker_keyring_file_path: str = "/etc/apt/keyrings/docker.gpg"
27
29
  nodesource_keyring_file_path: str = "/etc/apt/keyrings/nodesource.gpg"
@@ -56,3 +58,6 @@ def install_before_restart(installation_directory: str, remove_existing_installa
56
58
  # Install docker. FACT installs the docker, but there can be a problem with permissions, so we need to add
57
59
  # the user permissions to the docker group before restart.
58
60
  install_docker.install_docker_ubuntu()
61
+
62
+ print_api("FACT_core installation before restart is finished.", color='green')
63
+ print_api("Please restart the computer to continue the installation.", color='red')
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: atomicshop
3
- Version: 2.9.17
3
+ Version: 2.9.19
4
4
  Summary: Atomic functions and classes to make developer life easier
5
5
  Author: Denis Kras
6
6
  License: MIT License
@@ -1,4 +1,4 @@
1
- atomicshop/__init__.py,sha256=5nnfZ4INjh7Td0NcgHF-mbOcPr5rUifepycV_eERZNE,123
1
+ atomicshop/__init__.py,sha256=4paF6c_iTkbfZUKj_Ifjhzqg51MCYmE8gQPlCxRag4k,123
2
2
  atomicshop/_basics_temp.py,sha256=6cu2dd6r2dLrd1BRNcVDKTHlsHs_26Gpw8QS6v32lQ0,3699
3
3
  atomicshop/_create_pdf_demo.py,sha256=Yi-PGZuMg0RKvQmLqVeLIZYadqEZwUm-4A9JxBl_vYA,3713
4
4
  atomicshop/_patch_import.py,sha256=ENp55sKVJ0e6-4lBvZnpz9PQCt3Otbur7F6aXDlyje4,6334
@@ -22,7 +22,7 @@ atomicshop/inspect_wrapper.py,sha256=sGRVQhrJovNygHTydqJj0hxES-aB2Eg9KbIk3G31apw
22
22
  atomicshop/ip_addresses.py,sha256=Hvi4TumEFoTEpKWaq5WNF-YzcRzt24IxmNgv-Mgax1s,1190
23
23
  atomicshop/keyboard_press.py,sha256=1W5kRtOB75fulVx-uF2yarBhW0_IzdI1k73AnvXstk0,452
24
24
  atomicshop/pbtkmultifile_argparse.py,sha256=aEk8nhvoQVu-xyfZosK3ma17CwIgOjzO1erXXdjwtS4,4574
25
- atomicshop/permissions.py,sha256=GYWxm9niuJWY0pWCnASF34_HiTuvhTamn8BCgcFyVAk,2540
25
+ atomicshop/permissions.py,sha256=Bl-VMUX6uWUW8H4EjTZC8bp5GRbR8LuyqqZOLTgdQbw,3086
26
26
  atomicshop/print_api.py,sha256=DhbCQd0MWZZ5GYEk4oTu1opRFC-b31g1VWZgTGewG2Y,11568
27
27
  atomicshop/process.py,sha256=SXaqG8pzNkHvppPhuhixEIXSaqbeDlTUFLaS5bYSp54,14176
28
28
  atomicshop/process_name_cmd.py,sha256=TNAK6kQZm5JKWzEW6QLqVHEG98ZLNDQiSS4YwDk8V8c,3830
@@ -154,7 +154,7 @@ atomicshop/wrappers/certauthw/certauthw.py,sha256=4WvhjANI7Kzqrr_nKmtA8Kf7B6rute
154
154
  atomicshop/wrappers/ctyping/process_winapi.py,sha256=QcXL-ETtlSSkoT8F7pYle97ubGWsjYp8cx8HxkVMgAc,2762
155
155
  atomicshop/wrappers/dockerw/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
156
156
  atomicshop/wrappers/dockerw/dockerw.py,sha256=w8zSJr5C7cbvbuG09ORCpAe0BOcibqqL_Z2EKEBHYK4,6266
157
- atomicshop/wrappers/dockerw/install_docker.py,sha256=CHe4W_PB0opIte2h33eFDSgQh-z1vRA5b1aU2hS3Vps,2992
157
+ atomicshop/wrappers/dockerw/install_docker.py,sha256=-lCb8mNVTQBlXaYqDCPlryLpCdHsoUdugoFZN-tCIFY,3068
158
158
  atomicshop/wrappers/elasticsearchw/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
159
159
  atomicshop/wrappers/elasticsearchw/config_basic.py,sha256=XJMKKfDrUq9ZKxYnQ-xFJxSA51z31Nn4eB8_n_hryVk,800
160
160
  atomicshop/wrappers/elasticsearchw/elasticsearchw.py,sha256=7TqFdEFznO8NlligJhEKk1vm641ALpCYdaRl1uoXdzM,9768
@@ -177,7 +177,7 @@ atomicshop/wrappers/factw/fact_extractor/docker_image.py,sha256=jJAoJNQ4aoATjn3x
177
177
  atomicshop/wrappers/factw/fact_extractor/get_extractor.py,sha256=2mfOAftHIlCcGt1s7MWdq7DsDCuI6wX3MtvcEZ4SK-0,756
178
178
  atomicshop/wrappers/factw/install/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
179
179
  atomicshop/wrappers/factw/install/install_after_restart.py,sha256=roM1W2hkDynpEKda55xd7AsZxodsFj8i4wmFGt_HHzA,1558
180
- atomicshop/wrappers/factw/install/pre_install_and_install_before_restart.py,sha256=ylVkGcMj_PfdGsdzBPH3DpA2Vkll175_8k_UKZEsimw,2638
180
+ atomicshop/wrappers/factw/install/pre_install_and_install_before_restart.py,sha256=iLpPnnVyP7wOGgly_JymU5TRtsem_QSHNqZFTGf30eM,2913
181
181
  atomicshop/wrappers/factw/postgresql/__init__.py,sha256=xMBn2d3Exo23IPP2F_9-SXmOlhFbwWDgS9KwozSTjA0,162
182
182
  atomicshop/wrappers/factw/postgresql/analysis.py,sha256=2Rxzy2jyq3zEKIo53z8VkjuslKE_i5mq2ZpmJAvyd6U,716
183
183
  atomicshop/wrappers/factw/postgresql/file_object.py,sha256=VRiCXnsd6yDbnsE-TEKYPC-gkAgFVkE6rygRrJLQShI,713
@@ -230,8 +230,8 @@ atomicshop/wrappers/socketw/socket_server_tester.py,sha256=AhpurHJmP2kgzHaUbq5ey
230
230
  atomicshop/wrappers/socketw/socket_wrapper.py,sha256=aXBwlEIJhFT0-c4i8iNlFx2It9VpCEpsv--5Oqcpxao,11624
231
231
  atomicshop/wrappers/socketw/ssl_base.py,sha256=k4V3gwkbq10MvOH4btU4onLX2GNOsSfUAdcHmL1rpVE,2274
232
232
  atomicshop/wrappers/socketw/statistics_csv.py,sha256=t3dtDEfN47CfYVi0CW6Kc2QHTEeZVyYhc57IYYh5nmA,826
233
- atomicshop-2.9.17.dist-info/LICENSE.txt,sha256=lLU7EYycfYcK2NR_1gfnhnRC8b8ccOTElACYplgZN88,1094
234
- atomicshop-2.9.17.dist-info/METADATA,sha256=wuIL9MN0dslfKHxhB1vTqQhspcT_StwFu5UffkRlYwM,10423
235
- atomicshop-2.9.17.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
236
- atomicshop-2.9.17.dist-info/top_level.txt,sha256=EgKJB-7xcrAPeqTRF2laD_Np2gNGYkJkd4OyXqpJphA,11
237
- atomicshop-2.9.17.dist-info/RECORD,,
233
+ atomicshop-2.9.19.dist-info/LICENSE.txt,sha256=lLU7EYycfYcK2NR_1gfnhnRC8b8ccOTElACYplgZN88,1094
234
+ atomicshop-2.9.19.dist-info/METADATA,sha256=dEtMw2mO0bAzhwkVfrKB729tvso84KqHMde3IMMpM_w,10423
235
+ atomicshop-2.9.19.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
236
+ atomicshop-2.9.19.dist-info/top_level.txt,sha256=EgKJB-7xcrAPeqTRF2laD_Np2gNGYkJkd4OyXqpJphA,11
237
+ atomicshop-2.9.19.dist-info/RECORD,,