27 lines
No EOL
974 B
Python
27 lines
No EOL
974 B
Python
import argparse
|
|
from helper.fs import FS
|
|
from src.model.asm4_structure import Asm4Structure
|
|
|
|
from src.usecases.asm4_to_assembly_use_case import Asm4ToAssemblyUseCase
|
|
from src.usecases.assembly_to_pddl_use_case import AssemblyToPddlUseCase
|
|
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
parser = argparse.ArgumentParser()
|
|
parser.add_argument('--asm4Path', help='asm4 json FreeCad')
|
|
parser.add_argument('--outPath', help='save pddl path')
|
|
args = parser.parse_args()
|
|
|
|
if args.asm4Path == None or args.outPath == None:
|
|
parser.print_help()
|
|
|
|
data = FS.readJSON(args.asm4Path)
|
|
asm4 = Asm4Structure.parse(data)
|
|
asm4usecase = Asm4ToAssemblyUseCase().call(asm4)
|
|
assemblyToPddlUseCase = AssemblyToPddlUseCase.call(assembly=asm4usecase['asm'],rootLabel=asm4usecase['rootLabel'])
|
|
FS.writeFile(assemblyToPddlUseCase['problem'] ,args.outPath, 'problem.pddl')
|
|
FS.writeFile(assemblyToPddlUseCase['domain'] ,args.outPath, 'domain.pddl')
|
|
|
|
|