
    fi                         d Z ddlZej                  dk  rddlmZ nddlmZ ddlmZmZ ddl	m
Z
 ddlmZ  G d	 d
e      Zy)z5Generic script exporter class for any kernel language    N)   
   )entry_points)Dictdefault   )get_exporter)TemplateExporterc                        e Zd ZdZ e       Z e       ZdZ ed      d        Z	 ed      d        Z
d Zd	 fd	Z xZS )
ScriptExporterzA script exporter.Scripttemplate_filec                      y)Nz	script.j2 selfs    U/var/www/cvtools/html/venv/lib/python3.12/site-packages/nbconvert/exporters/script.py_template_file_defaultz%ScriptExporter._template_file_default   s        template_namec                      y)Nscriptr   r   s    r   _template_name_defaultz%ScriptExporter._template_name_default   s    r   c                 L   || j                   vr_	 t        d      }|D cg c]  }|j                  |k(  s| c}d   j                         } || j                  |       | j                   |<   | j                   |   S c c}w # t
        t        f$ r d| j                   |<   Y 4w xY w)zFind an exporter for the language name from notebook metadata.

        Uses the nbconvert.exporters.script group of entry points.
        Returns None if no exporter is found.
        znbconvert.exporters.script)groupr   configparentN)_lang_exportersr   nameloadr   KeyError
IndexError)r   	lang_name	exporterseexporters        r   _get_language_exporterz%ScriptExporter._get_language_exporter!   s     D000\(/KL	'0H!AFFi4GAHKPPR
 3;$++VZ2[$$Y/##I.. Ij) 726$$Y/7s&   B A=A=B =B B#"B#c                    |j                   j                  di       }|j                  d      }|r~|dk7  ry| j                  j                  d|       || j                  vr,t        |      } || j                  |       | j                  |<   | j                  |   } |j                  ||fi |S |j                  d      }|rC| j                  j                  d|       | j                  |      }| |j                  ||fi |S |j                  dd	      | _	        |j                  d
d      | _
        t        |   ||fi |S )zConvert from notebook node.language_infonbconvert_exporterr   zLoading script exporter: %sr   r    z&Using script exporter for language: %sfile_extensionz.txtmimetypez
text/plain)metadatagetlogdebug
_exportersr	   r   from_notebook_noder(   r,   output_mimetypesuper)	r   nb	resourceskwlanginfoexporter_namer'   r$   	__class__s	           r   r3   z!ScriptExporter.from_notebook_node2   s3   ;;???B7 !%9:]h6HHNN8-HDOO3'619UY1Z.}5H.8..r9CCC LL(	HHNNCYO229=H#2x222yGBGG 'll+;VD'||JEw)"i>2>>r   )N)__name__
__module____qualname____doc__r   r2   r   export_from_notebookr   r   r   r(   r3   __classcell__)r;   s   @r   r   r      s[     JfO#_  _ /"? ?r   r   )r?   sysversion_infoimportlib_metadatar   importlib.metadata	traitletsr   r   baser	   templateexporterr
   r   r   r   r   <module>rI      s7    ; g// #  .;?% ;?r   