Source code for paws.core.operations.IO.PIF.SavePIFAsJSON

from collections import OrderedDict
import os

from pypif import pif
import pypif.obj as pifobj 

from ... import Operation as opmod 
from ...Operation import Operation

inputs=OrderedDict(pif=None,dir_path=None,filename=None)
outputs=OrderedDict(file_path=None)
        
[docs]class SavePIFAsJSON(Operation): def __init__(self): super(SavePIFAsJSON,self).__init__(inputs,outputs) self.input_doc['pif'] = 'A pypif.obj.System object or an array/list thereof' self.input_doc['dir_path'] = 'Path to system directory where .json file will be created' self.input_doc['filename'] = 'Name of the .json file to be created. '\ 'The .json extension is appended automatically if not provided.' self.output_doc['file_path'] = 'Full path to the newly saved .json file'
[docs] def run(self): p = self.inputs['pif'] dp = self.inputs['dir_path'] fn = self.inputs['filename'] if not os.path.splitext(fn)[1] == 'json': fn = fn+'.json' json_file = os.path.join(dp,fn) self.outputs['file_path'] = json_file pif.dump(p, open(json_file,'w'))