gealogiuya
This commit is contained in:
43
apps/shared/management/commands/nginx.py
Normal file
43
apps/shared/management/commands/nginx.py
Normal file
@@ -0,0 +1,43 @@
|
||||
import os
|
||||
|
||||
from colorama import Fore, Style
|
||||
from django.core.management.base import BaseCommand
|
||||
|
||||
|
||||
class Command(BaseCommand):
|
||||
help = "Generates a new nginx config file with custom domain and project path"
|
||||
|
||||
def handle(self, *args, **kwargs):
|
||||
domain_name = input(
|
||||
Fore.LIGHTCYAN_EX + "Please enter the domain name: " + Style.RESET_ALL
|
||||
)
|
||||
project_name = input(
|
||||
Fore.LIGHTMAGENTA_EX + "\nPlease enter the project name: " + Style.RESET_ALL
|
||||
)
|
||||
project_port = input(
|
||||
Fore.LIGHTBLUE_EX + "\nPlease enter the project port: " + Style.RESET_ALL
|
||||
)
|
||||
|
||||
source_file_path = "./deployments/compose/nginx/nginx.conf"
|
||||
target_dir_path = "./deployments/nginx"
|
||||
target_file_path = f"{target_dir_path}/{domain_name}.conf"
|
||||
|
||||
with open(source_file_path, "r") as file:
|
||||
file_contents = file.read()
|
||||
|
||||
file_contents = file_contents.replace("yourdomain.uz", domain_name)
|
||||
file_contents = file_contents.replace("/path/project", project_name)
|
||||
file_contents = file_contents.replace("PROJECT_PORT", project_port)
|
||||
|
||||
os.makedirs(target_dir_path, exist_ok=True)
|
||||
|
||||
with open(target_file_path, "w") as file:
|
||||
file.write(file_contents)
|
||||
|
||||
self.stdout.write(
|
||||
self.style.SUCCESS(
|
||||
Fore.LIGHTGREEN_EX
|
||||
+ f"\n\n\nSuccessfully created {target_file_path}\n\n"
|
||||
+ Style.RESET_ALL
|
||||
)
|
||||
)
|
||||
Reference in New Issue
Block a user