a ����á·´g×��ã�������������������@���s|���d�dl�Z�d�dlZd�dlZd�dlmZ�d�dlmZ�d�dlmZ�d�dl m Z �dZdZdZ d ZG�d d„�deƒZdd „�Zdd„�ZdS�)é����N)ÚConfig)Úabort)ÚApiException)Úsleepzsimcore/services/comp/opencorz0simcore/services/comp/rabbit-ss-0d-cardiac-modelz/simcore/services/comp/human-gb-0d-cardiac-modelz*simcore/services/comp/kember-cardiac-modelc�������������������@���s���e�Zd�ZdS�)ÚSimulationExceptionN)Ú__name__Ú __module__Ú__qualname__©�r ���r ���ú</home/cmiss/Jenkins/workspace/SPARC-API/app/osparc/osparc.pyr������s���r���c�������������� ���C���s���|�d�d�}|t�kr*d|�vrdtddd�n:d|�v�rX|tkrd|tkrd|tkrdtddd�ntdd d�zJt tjtj tj tjd ¡}d|�d�v�}|t�kr tj dd }t |�d�d�|¡�| d¡�zt |¡}| |j¡}W�n6�ty�}�ztd|›�dƒ‚W�Y�d�}~n d�}~0�0�| ¡��nŒ|r¬tj dd }| |�d�d�d�¡�| d¡�zt |¡}| |j¡} W�n6�ty¢�}�ztd|›�dƒ‚W�Y�d�}~n d�}~0�0�| ¡��t |¡} z| ||�d�d�¡}W�n6�ty�}�ztd|›�dƒ‚W�Y�d�}~n d�}~0�0�|t�kr$|�d�d�|dœ}n.|rF| |�d�d�|�d�d�d�<�|�d�d�}| |j|jt |¡¡} | |j|j| j¡}|jdvr’tdƒ‚d| j|j|jdœdœdœ}W�nJ�tyú�}�z0dt |j!ƒdkrÞ|j!d�nd d!œ}W�Y�d�}~n d�}~0�0�|S�)"NÚsolverÚnameZopencori��zMissing OpenCOR settings)ÚdescriptionÚosparczUnknown oSPARC solverzMissing oSPARC settings©ÚhostÚusernameÚpasswordÚinputzw+)ÚmodeZjson_configr���z9the simulation configuration file could not be uploaded (ú)Úvaluez-the solver input file could not be uploaded (Úversionz-the requested solver could not be retrieved (Ú model_url)r���Úconfig_fileÚ job_inputs>���ÚPENDINGZ PUBLISHEDz)the simulation job could not be submittedÚok)r ���r���)Újob_idr���)ÚstatusÚdataÚnokÚunknown©r���r���)"ÚOPENCOR_SOLVERr���ÚDATASET_4_SOLVERÚDATASET_17_SOLVERÚDATASET_78_SOLVERr���Ú ApiClientÚ Configurationr���ÚOSPARC_API_URLÚOSPARC_API_KEYÚOSPARC_API_SECRETÚtempfileÚNamedTemporaryFileÚjsonÚdumpÚseekÚFilesApiZupload_filer ���r���r���ÚcloseÚwriteÚ SolversApiZget_solver_releaseZ create_jobÚidr���Z JobInputsZ start_jobÚstateÚlenÚargs)r ���Úsolver_nameÚ api_clientZhas_solver_inputZtemp_config_fileÚ files_apir���ÚeZtemp_input_fileZ input_fileÚsolvers_apir���r���Újobr���Úresr ���r ���r���Ústart_simulation���s¢����ÿþý ÿ ÿ ÿ ÿ þýÿþþþ þrA���c����������� ��� ���C���sÀ��znt� t�jtjtjtjd¡}t� |¡}|�d�}|�d�d�}|�d�d�}| |||¡}|j dkrjt dƒ‚|j dkrfz| |||¡}W�n4�ty¼�}�zt d |›�d ƒ‚W�Y�d�}~n d�}~0�0�z.t� |¡} | |jt|j ¡�ƒd��j¡} W�n6�ty"�}�zt d|›�d ƒ‚W�Y�d�}~n d�}~0�0�t| d ƒ}ddi}|tkrPt |¡|d<�n| ¡�|d<�| ¡��nddi}W�nJ�t yº�}�z0dt|jƒdkrž|jd�nddœ}W�Y�d�}~n d�}~0�0�|S�)Nr���r���r���r ���r���ÚFAILEDzthe simulation failedÚSUCCESSz3the simulation job outputs could not be retrieved (r���r���z/the simulation results could not be retrieved (Úrr���r���Úresultsr!���r"���r#���)r���r(���r)���r���r*���r+���r,���r5���Zinspect_jobr7���r���Zget_job_outputsr���r2���Z download_filerE���ÚlistÚkeysr6���Úopenr$���r/���ÚloadÚreadr3���r8���r9���) r ���r;���r>���r���r:���Zsolver_versionr���Úoutputsr=���r<���Zresults_filenameZresults_filer@���r ���r ���r���Úcheck_simulationŒ���sZ����ý ÿ ÿ ÿ ÿ ÿ ÿþrL���)r/���r���r-���Ú app.configr���Úflaskr���Zosparc.restr���Útimer���r$���r%���r&���r'���Ú Exceptionr���rA���rL���r ���r ���r ���r���Ú<module>���s���w