
    Be                        d dl mZ d dlZd dlmZ d dlZd dlmZ d dlm	Z
 	 dddZ G d de          ZddZ	e	ej        j        _	        dS )    )annotationsN)IO)CodeHandler) build_single_handler_applicationz	{pyodide}python
filehandler   supported_syntaxtuple[str, ...]returnstrc                p   d}d}d}g }g }	 |                                  }|snq|                                }|r0|                    |          rd}n@|                    |           n)|                    d          rt	          |          t	          |                    d                    z
  }	d|	z  }|                                |	d         }
|
|v r`|r[d                    |          }|                                 t          d |D                       r|                    d|d	           d}n]|                    |           nG|                    d
          r|dd                                         }n|                    |           |rGd                    |          }t          d |D                       r|                    d|d	           |rCt          d |D                       r*|                    d|                                           d                    |          S )z?
    Extracts Panel application code from a Markdown file.
    FNTz```` c              3     K   | ]}d |v V  	dS pn.extensionN .0os     1lib/python3.11/site-packages/panel/io/markdown.py	<genexpr>zextract_code.<locals>.<genexpr>.   s'      <<1>Q.<<<<<<    zpn.pane.Markdown(z).servable()
z#    c              3     K   | ]}d |v V  	dS r   r   r   s     r   r   zextract_code.<locals>.<genexpr>9   s'      00q~"000000r   c              3  &   K   | ]}d |v d|v V  dS )r   z	template=Nr   r   s     r   r   zextract_code.<locals>.<genexpr>;   s1      JJ!n6I6I[A%6I6I6I6IJJr   zpn.state.template.title = 
)	readlinelstrip
startswithappendlenstripjoinclearany)r	   r
   inblockblock_openertitlemarkdownoutlinelslinenum_leading_backtickssyntaxmds               r   extract_coder2      sm    GLEH
C"""$$ 	 	"  .. !

4    u%% 	"$'KK#fmmC6H6H2I2I$I!44LZZ\\"7"8"89F))) M**BNN$$$<<<<<<< M

#Kr#K#K#KLLL%%%%__T"" 	"HOO%%EEOOD!!!9":  AWWX00C00000 	AJJ?2???@@@ CJJsJJJJJ C

AAABBB99S>>r   c                  "     e Zd ZdZ fdZ xZS )MarkdownHandlerzI Modify Bokeh documents by creating Dashboard from a Markdown file.

    c                $   d|vrt          d          t          j                            |d                   }t	          |d          5 }t          |          }ddd           n# 1 swxY w Y   ||d<    t                      j        |i | dS )z\

        Keywords:
            filename (str) : a path to a Markdown (".md") file

        filenamezMust pass a filename to Handlerzutf-8)encodingNsource)
ValueErrorospathabspathopenr2   super__init__)selfargskwargsr6   fcode	__class__s         r   r?   zMarkdownHandler.__init__D   s     V##>???7??6*#566(W--- 	#??D	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#x$)&)))))s   A''A+.A+)__name__
__module____qualname____doc__r?   __classcell__)rE   s   @r   r4   r4   ?   sB         * * * * * * * * *r   r4   c           	     $   t           j                            |           r|                     d          st	          | |          S ddlm} t          |           }|j        r#t          d| d|j
        d|j        d           ||          }|S )	Nz.mdr   )Application)r6   zError loading z:

r    )r:   r;   isfileendswith_build_applicationserverrL   r4   failedRuntimeErrorerrorerror_detail)r;   argvrL   handlerapplications        r   r   r   S   s    7>>$ .t}}U';'; .!$---######t,,,G~ ilTTT7===RYRfRfRfghhh+g&&Kr   )r   )r	   r   r
   r   r   r   )N)
__future__r   r:   typingr   bokeh.command.utilbokehbokeh.application.handlers.coder   r   rP   r2   r4   commandutilr   r   r   <module>r`      s    " " " " " " 				           7 7 7 7 7 7      9P. . . . .`* * * * *k * * *(    7W  3 3 3r   