
    ^j
                     f   d dl Z d dlZd dlZ ej                         j	                         Zedk(  rdZnedk(  rdZnedk(  rdZn ed      e j                  j                  e j                  j                  e
            Ze j                  j                  ee      ae j                  j                  t              s ed	t         d
e       ej                  j!                  e       ddl d Zd Zd Z	 ddlmZ ej.                  j0                  Zd Zeej.                  _        y# e$ r Y yw xY w)    Nlinuxz	lib3mf.sodarwinzlib3mf.dylibwindowsz
lib3mf.dllzUnsupported operating systemzThe required binary z could not be found in    )*c                      t         S )N)lib_path     H/opt/ringagent/.cad-venv/lib/python3.12/site-packages/lib3mf/__init__.pyget_library_pathr   '   s    Or   c                  "   t        t              } t        dk(  r| j                  d      r| d d S t        dk(  r| j                  d      r| d d S t        dk(  r| j                  d      r| d d	 S t        j
                  j                  |       \  }}|S )
Nr   z.sor   z.dllr   z.dylibi)strr	   systemendswithospathsplitext)path_strbase_exts      r   get_library_path_for_wrapperr   ,   s    8}HX..u5}x008}h//9}!!(+JD$Kr   c                      ddl m}  	  | j                  t                     S # | j                  $ r}t        d|        d }~ww xY w)Nr   Lib3MFz)Failed to initialize the Lib3MF wrapper: ) r   Wrapperr   ELib3MFExceptionprint)_Lib3MFes     r   get_wrapperr$   ;   sC    #w;=>>## 91=s   " A>Ar   c                 D    t        t        dd       }|y t        | ||      S )N
ErrorCodes)getattrr"   _original_checkError)selfinstance	errorCodeecs       r   _patched_checkErrorr-   Z   s'    WlD1:#D(I>>r   )r   sysplatformr   lowerlib_fileOSErrorr   dirnamerealpath__file__dir_pathjoinr	   existsImportErrorappendr   r   r   r$   r   r"   r   
checkErrorr(   r-   	Exceptionr
   r   r   <module>r=      s    	 
  
		 	 	" 
WHxHyH
0
11 77??277++H5677<<(+	ww~~h
,XJ6MhZX
YY   
4	#"??55? "5GOO 		s   70D( (D0/D0