This commit is contained in:
chendelin1982 2021-11-02 20:54:10 +08:00
parent b1063250c7
commit cf777bc15c
3 changed files with 33 additions and 48 deletions

View file

@ -1,3 +1,4 @@
from typing import Any, Callable, Dict, List, Optional, Sequence, Tuple, Type, Union
import model, os, sys, subprocess, re
from model import GitOp
@ -108,36 +109,41 @@ class Status:
'''The status operation of project, e.g Start | Stop | Restart | Erase'''
def __init__(self, project_name: str, project_path: Optional[str] = None):
def __init__(self, project_name: str, **parameter):
self.project_name = project_name
self.project_path = project_path
self.dockerop = model.DockerOp()
projectdict = self.dockerop.getProject()
if self.project_path == None:
if self.project_name != None:
try:
self.project_path = projectdict[self.project_name]
self.dockercomposeop = model.DockerComposeOp(self.project_path)
except:
print("No this application!")
sys.exit(0)
else
try:
self.project_path = parameter[project-directory]
except:
print("Directory not exist, please check it")
sys.exit(0)
self.dockercomposeop = model.DockerComposeOp(self.project_path)
def stopApp(self):
pass
def upApp(self):
pass
print("It up the application at directory: "+self.project_path)
self.dockercomposeop.execute()
def startApp(self):
pass
def retartApp(self):
pass
def restartApp(self):
self.dockercomposeop.execute()
def eraseApp(self):
self.dockercomposeop.down()
def upApp(self):
self.dockercomposeop.up(self.project_path)
def deleteApp(self):
self.dockercomposeop.execute()

View file

@ -115,45 +115,27 @@ class SecurityOp:
class DockerComposeOp:
'''Docker Compose operation'''
def __init__(self, path: Optional[str] = ''):
def __init__(self, command: str, **parameter):
self.cmd_up = "docker-compose up -d"
self.cmd_stop = "docker-compose stop"
self.cmd_down = "docker-compose down"
self.path = path
self.cmd = "docker-compose "+ command
for key, value in parameter.items():
self.cmd = self.cmd + " --" + key + " " + value
try:
os.chdir(self.path)
os.chdir(self.parameter[project-directory])
except:
print("Not found project directory")
sys.exit(0)
def up(self):
'''docker-compose up'''
def execute(self):
'''docker-compose command executing'''
try:
os.system(self.cmd_up)
os.system(self.cmd)
except:
print("Create failed")
os.system(self.cmd_up)
print("This operation execute failed")
sys.exit(0)
def stop(self):
'''docker-compose stop'''
try:
os.system(self.cmd_stop)
except:
print("Stop failed, suggest try it again")
sys.exit(0)
def down(self):
'''docker-compose down'''
try:
os.system(self.cmd_down)
except:
print("Down failed, suggest try it again")
sys.exit(0)
class DockerOp:
''' Docker operation '''
def __init__(self, status: Optional[str] = 'all'):

View file

@ -26,8 +26,8 @@ def create(app_name: str, project_name: Optional[str] = None):
@app.command()
def up(path: str):
'''up one deleted application'''
status = controller.Status("application", path)
status.startApp()
status = controller.Status(None, path)
status.upApp()
@app.command()
def start(project_name: str):
@ -48,17 +48,16 @@ def restart(project_name: str):
status.retartApp()
@app.command()
def erase(project_name: str):
def delete(project_name: str):
'''erase or delete an application'''
status = controller.Status(project_name)
status.eraseApp()
status.deleteApp()
@app.command()
def update(project_name: str):
'''update the local lists cache'''
typer.echo(f"Hello {project_name}")
@app.command()
def upgrade(name: str):
'''upgrade one application'''
@ -70,7 +69,6 @@ def search(name: str):
'''Search application you want to install'''
typer.echo(f"Hello {name}")
@app.command()
def show(name: str):
'''show the detail of application'''
@ -81,6 +79,5 @@ def package(name: str):
'''package one application for no network environment'''
typer.echo(f"Hello {name}")
if __name__ == "__main__":
app()