2023-03-05 16:58:37 +03:00
|
|
|
import argparse
|
|
|
|
from helper.fs import FS
|
2023-12-17 13:58:43 +00:00
|
|
|
from src.model.robossembler_assets import RobossemblerAssets
|
2023-03-05 16:58:37 +03:00
|
|
|
|
|
|
|
from src.usecases.assembly_to_pddl_use_case import AssemblyToPddlUseCase
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
|
parser = argparse.ArgumentParser()
|
2023-12-17 13:58:43 +00:00
|
|
|
parser.add_argument("--sequencesPath", help="sequences path")
|
|
|
|
|
|
|
|
parser.add_argument("--outPath", help="save pddl path")
|
|
|
|
parser.add_argument("--robossemblerDbPath", help="robossembler_db is require")
|
2023-03-05 16:58:37 +03:00
|
|
|
args = parser.parse_args()
|
2023-12-17 13:58:43 +00:00
|
|
|
|
|
|
|
if (
|
|
|
|
args.sequencesPath == None
|
|
|
|
or args.outPath == None
|
|
|
|
or args.robossemblerDbPath == None
|
|
|
|
):
|
2023-03-05 16:58:37 +03:00
|
|
|
parser.print_help()
|
2023-04-18 14:01:46 +00:00
|
|
|
|
2023-12-17 13:58:43 +00:00
|
|
|
data = FS.readJSON(args.sequencesPath)
|
|
|
|
robossemblerDb = FS.readJSON(args.robossemblerDbPath)
|
|
|
|
|
|
|
|
assemblyToPddlUseCase = AssemblyToPddlUseCase.call(
|
|
|
|
assembly=data, robossemblerDb=robossemblerDb
|
|
|
|
)
|
|
|
|
|
|
|
|
FS.writeFile(assemblyToPddlUseCase["problem"], args.outPath, "problem.pddl")
|
|
|
|
FS.writeFile(assemblyToPddlUseCase["domain"], args.outPath, "domain.pddl")
|