B
    j“]\   ã               @   s   d Z ddlZddd„ZdS )zMiscellaneous utilitiesé    Nc                sœ   d  t dˆ ¡¡‰ x2ˆ rDt dˆ ¡sDt dˆ d ¡sˆ dd… ‰ qqW tˆ ƒ‰ ˆ sVd‰ |dk	r˜ˆ |kr˜‡ fd	d
„}d}x||ƒ|krŽ|d7 }qxW ||ƒ‰ ˆ S )zBReturn a syntax-valid Python reference name from an arbitrary nameÚ z[^0-9a-zA-Z_]z([a-zA-Z]+[0-9a-zA-Z_]*)$z[a-zA-Z]r   é   NÚdatac                s   ˆ d|   S )Nz%03d© )Úindex)Únamer   ú8lib/python3.7/site-packages/spyder_kernels/utils/misc.pyÚ<lambda>   s    z$fix_reference_name.<locals>.<lambda>)ÚjoinÚreÚsplitÚmatchÚstr)r   Z	blacklistZget_new_namer   r   )r   r   Úfix_reference_name   s    r   )N)Ú__doc__r   r   r   r   r   r   Ú<module>	   s   