Newer
Older
# -*- coding: utf-8 -*-
import os
import subprocess
from enum import Enum
class STATUS(Enum):
STOPED = 0
RUNNING = 1
FAILED = 2
CONF_ERROR = 3
class AbstractSolver(object):
def __init__(self, name):
super(AbstractSolver, self).__init__()
# Informations
self._type = ""
self.name = name
self.description = ""
self.path_input = ""
self.path_solver = ""
self.path_output = ""
self.cmd_input = ""
self.cmd_solver = ""
self.cmd_output = ""
def __str__(self):
return f"{self.name} : {self._type} : {self.description}"
# Getter
def get_status(self):
def get_type(self):
return self._type
def __getitem__(self, name):
ret = None
if name == "name":
ret = self.name
elif name == "description":
ret = self.description
elif name == "type":
ret = self._type
return ret
# Setter
def set_status(self, status):
self.status = status
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
def set_name(self, name):
self.name = name
def set_description(self, description):
self.description = description
def set_input(self, path, cmd):
self.path_input = path
self.cmd_input = cmd
def set_solver(self, path, cmd):
self.path_solver = path
self.cmd_solver = cmd
def set_output(self, path, cmd):
self.path_output = path
self.cmd_output = cmd
# Run
def run_input_data_fomater(self):
if self.cmd_input == "":
return True
return False
def run_solver(self):
if self.cmd_solver == "":
return True
return False
def run_output_data_fomater(self, ):
if self.cmd_output == "":
return True
return False
def kill(self):
return False
def readline(self):
return ""