Refactor parser
Move all execution code into separate functions
This commit is contained in:
parent
6038953471
commit
4e4b9f6d1d
61
parser.py
61
parser.py
|
@ -31,34 +31,11 @@ class Command():
|
||||||
def execute(self, client: AdgClient, cache: Cache):
|
def execute(self, client: AdgClient, cache: Cache):
|
||||||
match self.type:
|
match self.type:
|
||||||
case CommandType.NEWDB:
|
case CommandType.NEWDB:
|
||||||
client.create_database(self.name)
|
self._execute_newdb(client, cache)
|
||||||
case CommandType.NORMAL:
|
case CommandType.NORMAL:
|
||||||
if hasattr(self, "package_path"):
|
self._execute_normal(client, cache)
|
||||||
package_path = self.package_path
|
|
||||||
else:
|
|
||||||
abs_path = cache.get(self.device)
|
|
||||||
package_path = ntpath.relpath(abs_path, start=ADG_DIR)
|
|
||||||
|
|
||||||
client.create_normal_resource(
|
|
||||||
self.name,
|
|
||||||
self.location,
|
|
||||||
self.envelope,
|
|
||||||
driver_path=self.driver_path
|
|
||||||
if hasattr(self, "driver_path") else "",
|
|
||||||
package_path=package_path
|
|
||||||
if not hasattr(self, "driver_description") else "",
|
|
||||||
driver_description=self.driver_description
|
|
||||||
if hasattr(self, "driver_description") else "",
|
|
||||||
connection_parameters=self.connection_parameters
|
|
||||||
if hasattr(self, "connection_parameters") else "",
|
|
||||||
system=self.system if hasattr(self, "system") else "")
|
|
||||||
case CommandType.NEWSYSTEM:
|
case CommandType.NEWSYSTEM:
|
||||||
client.create_system(
|
self._execute_newsystem(client, cache)
|
||||||
name=self.name if hasattr(self, "name") else "",
|
|
||||||
switch_ip=self.switch_ip
|
|
||||||
if hasattr(self, "switch_ip") else "",
|
|
||||||
host_name=self.host_name
|
|
||||||
if hasattr(self, "host_name") else "")
|
|
||||||
case CommandType.HOTEL:
|
case CommandType.HOTEL:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -90,6 +67,38 @@ class Command():
|
||||||
if "host_name" in kwargs:
|
if "host_name" in kwargs:
|
||||||
self.host_name = kwargs["host_name"]
|
self.host_name = kwargs["host_name"]
|
||||||
|
|
||||||
|
def _execute_newdb(self, client: AdgClient, cache: Cache):
|
||||||
|
client.create_database(self.name)
|
||||||
|
|
||||||
|
def _execute_newsystem(self, client: AdgClient, cache: Cache):
|
||||||
|
client.create_system(
|
||||||
|
name=self.name if hasattr(self, "name") else "",
|
||||||
|
switch_ip=self.switch_ip
|
||||||
|
if hasattr(self, "switch_ip") else "",
|
||||||
|
host_name=self.host_name
|
||||||
|
if hasattr(self, "host_name") else "")
|
||||||
|
|
||||||
|
def _execute_normal(self, client: AdgClient, cache: Cache):
|
||||||
|
if hasattr(self, "package_path"):
|
||||||
|
package_path = self.package_path
|
||||||
|
else:
|
||||||
|
abs_path = cache.get(self.device)
|
||||||
|
package_path = ntpath.relpath(abs_path, start=ADG_DIR)
|
||||||
|
|
||||||
|
client.create_normal_resource(
|
||||||
|
self.name,
|
||||||
|
self.location,
|
||||||
|
self.envelope,
|
||||||
|
driver_path=self.driver_path
|
||||||
|
if hasattr(self, "driver_path") else "",
|
||||||
|
package_path=package_path
|
||||||
|
if not hasattr(self, "driver_description") else "",
|
||||||
|
driver_description=self.driver_description
|
||||||
|
if hasattr(self, "driver_description") else "",
|
||||||
|
connection_parameters=self.connection_parameters
|
||||||
|
if hasattr(self, "connection_parameters") else "",
|
||||||
|
system=self.system if hasattr(self, "system") else "")
|
||||||
|
|
||||||
|
|
||||||
class Parser():
|
class Parser():
|
||||||
def __init__(self, path: str):
|
def __init__(self, path: str):
|
||||||
|
|
Loading…
Reference in New Issue