DoOrg/main.py

78 lines
1.8 KiB
Python
Executable File

#!/bin/python3
import os
import DockerComunicator as DockerComunicator
VERSION = "0.0.1"
call_dir = ""
DockerComunicator = DockerComunicator.DockerComunicator()
class style:
BLACK = "\033[30m"
RED = "\033[31m"
GREEN = "\033[32m"
YELLOW = "\033[33m"
BLUE = "\033[34m"
MAGENTA = "\033[35m"
CYAN = "\033[36m"
WHITE = "\033[37m"
UNDERLINE = "\033[4m"
RESET = "\033[0m"
accepted_dockerfiles = [
"docker-compose.yml",
"docker-compose.yaml",
"docker-compose.yml.j2",
"docker-compose.yaml.j2",
]
def is_valid_service(service):
service_dir = call_dir + "/services/" + service
for dockerfile in accepted_dockerfiles:
if os.path.isfile(service_dir + "/" + dockerfile):
return True
return False
def get_services():
services = []
services_dir = call_dir + "/services"
for service in os.listdir(services_dir):
# print("Checking service " + service)
if os.path.isdir(services_dir + "/" + service) and is_valid_service(service):
services.append(service)
else:
print(
style.RED
+ "Service "
+ services_dir
+ "/"
+ service
+ " is not a valid service"
+ style.RESET
)
return services
if __name__ == "__main__":
call_dir = os.getcwd()
print("DoOrg v" + VERSION)
print("call dir: " + call_dir)
services = get_services()
print("Services:")
for service in services:
color = (
style.GREEN if DockerComunicator.is_service_running(service) else style.RED
)
print(color + " - " + service + style.RESET)
print("Docker services:")
docker_services = DockerComunicator.get_services()
for service in docker_services:
print(" - " + service.name)