
    #ShO                        d dl Z d dlZd dlmZ d dlZ G d d          ZdefdZdedej        e         fdZ	ded	ej        e         dej        e         fd
Z
ddZdej        e         defdZd Zedk    r e             dS dS )    N)Pathc            
       f    e Zd ZdZ ej        d          Zdededededdf
d	Z	de
fd
ZdefdZdS )MarkdownLinkzhHandle to a markdown link, for easy existence test and printing
    (external links are not tested)
    z#\[(?P<name>.+?)\]\((?P<link>\S+?)\)rootfilenamelinkreturnNc                 >    || _         || _        || _        || _        d S )N)r   r   r   r	   )selfr   r   r   r	   s        a/var/www/html/movieo_spanner_bot/venv/lib/python3.11/site-packages/submitit/test_documentation.py__init__zMarkdownLink.__init__   s"    						    c                     | j                             d          rdS | j                             d          d         }|sdS | j        | j        j        z  |z  }|                                S )NhttpT#r   F)r	   
startswithsplitr   r   parentexists)r   r	   fullpaths      r   r   zMarkdownLink.exists   sj    9'' 	4ys##A& 	59ty//$6   r   c                 6    d| j          d| j         d| j         S )N[z](z
) in file )r	   r   r   )r   s    r   __repr__zMarkdownLink.__repr__%   s&    @49@@	@@TY@@@r   )__name__
__module____qualname____doc__recompileregexr   strr   boolr   r    r   r   r   r      s          BJ=>>ET  S      ! ! ! ! !A# A A A A A Ar   r   r
   c                      t          t                    j        j                                        } | dz                                  sJ d|              | S )Nzpyproject.tomlzWrong root folder: )r   __file__r   absoluter   r   s    r   	_get_rootr)   )   sS    >> '0022D##++--KK/KT/K/KKK-Kr   r   c                        fddD             S )Nc                 D    g | ]}                     |          D ]}|S r$   )glob).0patternmdr   s      r   
<listcomp>z'_get_markdown_files.<locals>.<listcomp>0   s6    hhh7UYU^U^_fUgUghhrBhhhhr   )z*.mdzsubmitit/**/*.mdzdocs/**/*.mdr$   r(   s   `r   _get_markdown_filesr1   /   s    hhhhJhhhhr   filesc                    t           j        }g }|D ]w}|                    |                                          D ]M}|                    t          | ||                    d          |                    d                               Nx|S )z-Returns a list of all existing markdown linksr   r	   )r   r!   finditer	read_textappendgroup)r   r2   r.   linksr   matchs         r   _get_all_markdown_linksr:   3   s     GE ] ]%%dnn&6&677 	] 	]ELLdD%++f2E2Eu{{SYGZGZ[[\\\\	]Lr   c                      t                      } t          |           }t          |          dk    sJ t          | |          }t          |          dk    s
J d            d |D             }|rJ d S )N      z#There should be several hyperlinks!c                 :    g | ]}|                                 |S r$   )r   )r-   ls     r   r0   z9test_assert_markdown_links_not_broken.<locals>.<listcomp>D   s%    777!AHHJJ7A777r   )r)   r1   lenr:   )r   r2   r8   broken_linkss       r   %test_assert_markdown_links_not_brokenrB   =   sy    ;;D%%Eu::>>>>#D%00Eu::>>>@>>>77u777Lr   r!   c                 (   |                                  }|                      d          }|                      d          }t          j        }|                    d          s2t	          |                                          rd| }d| d| d| d}|S )	zhConverts relative links into links to master
    so that links on Pypi long description are correct
    r	   r   r   z+github.com/facebookincubator/submitit/blob/r   z
](https:///))r7   submitit__version__r   r   r   )r!   stringr	   r   version
github_urls         r   _replace_relative_linksrK   H   s     ++--F;;vD;;vD"G??6"" :tDzz'8'8':': :L7LL
9T99Z99$999Mr   c                      t                      dz  } |                                 sJ |                     d          }t          j        t
          j        t          |          }|                     |           d S )Nz	README.mdzutf-8)encoding)	r)   r   r5   r   subr   r!   rK   
write_text)readmedescs     r   expand_linksrR   V   sj    [[;&F==???W--D6,$&=tDDD
dr   __main__)r
   N)r   typingtppathlibr   rF   r   r)   Listr1   r:   rB   Matchr"   rK   rR   r   r$   r   r   <module>rY      sU   
			           A A A A A A A A64    id irwt} i i i i$ rwt} AV       28C= S       zLNNNNN r   