mirror of
https://github.com/aljazceru/dev-gpt.git
synced 2025-12-20 07:04:20 +01:00
👩🔬 refactor: rename repo
This commit is contained in:
54
dev_gpt/utils/io.py
Normal file
54
dev_gpt/utils/io.py
Normal file
@@ -0,0 +1,54 @@
|
||||
import os
|
||||
import re
|
||||
|
||||
import subprocess
|
||||
import sys
|
||||
from contextlib import contextmanager
|
||||
|
||||
|
||||
def get_microservice_path(path, microservice_name, packages, num_approach, version):
|
||||
package_path = '_'.join(packages).replace(' ', '_').lower()
|
||||
invalid_chars_regex = re.compile(r'[<>:"/\\|?*]')
|
||||
package_path = invalid_chars_regex.sub('', package_path)
|
||||
return os.path.join(path, microservice_name, f'{num_approach}_{package_path}', f'v{version}')
|
||||
|
||||
def persist_file(file_content, file_path):
|
||||
with open(file_path, 'w', encoding='utf-8') as f:
|
||||
f.write(file_content)
|
||||
|
||||
|
||||
def get_all_microservice_files_with_content(folder_path):
|
||||
file_name_to_content = {}
|
||||
for filename in os.listdir(folder_path):
|
||||
file_path = os.path.join(folder_path, filename)
|
||||
|
||||
if os.path.isfile(file_path):
|
||||
with open(file_path, 'r', encoding='utf-8') as file:
|
||||
content = file.read()
|
||||
file_name_to_content[filename] = content
|
||||
|
||||
return file_name_to_content
|
||||
|
||||
|
||||
@contextmanager
|
||||
def suppress_stdout():
|
||||
original_stdout = sys.stdout
|
||||
sys.stdout = open(os.devnull, 'w')
|
||||
try:
|
||||
yield
|
||||
finally:
|
||||
sys.stdout.close()
|
||||
sys.stdout = original_stdout
|
||||
|
||||
|
||||
def is_docker_running():
|
||||
try:
|
||||
if sys.platform.startswith('win'):
|
||||
command = 'docker info'
|
||||
else:
|
||||
command = 'docker info 2> /dev/null'
|
||||
|
||||
subprocess.check_output(command, shell=True)
|
||||
return True
|
||||
except subprocess.CalledProcessError:
|
||||
return False
|
||||
Reference in New Issue
Block a user