o
    hF                     @   s.   d Z ddlZddlZedZ	dddZdS )	zHCollection of utilities for command-line interfaces and console scripts.    Nz#\d+$F c           
      C   s   t j| \}}t j|\}}|r|}t|d }|du r't j| d }t j||| | }d}	|sWt j|rWt j||| d t|	 | }|	d7 }	t j|s<|S )a%  Generates a suitable file name for writing output.

    Often tools will want to take a file, do some kind of transformation to it,
    and write it out again. This function determines an appropriate name for the
    output file, through one or more of the following steps:

    - changing the output directory
    - appending suffix before file extension
    - replacing the file extension
    - suffixing the filename with a number (``#1``, ``#2``, etc.) to avoid
      overwriting an existing file.

    Args:
        input: Name of input file.
        outputDir: Optionally, a new directory to write the file into.
        suffix: Optionally, a string suffix is appended to file name before
            the extension.
        extension: Optionally, a replacement for the current file extension.
        overWrite: Overwriting an existing file is permitted if true; if false
            and the proposed filename exists, a new name will be generated by
            adding an appropriate number suffix.

    Returns:
        str: Suitable output filename
    r   N   #)ospathsplitsplitextnumberAddedREjoinexistsrepr)
input	outputDir	extension	overWritesuffixdirNamefileNameextoutputn r   Y/var/www/html/optinet_system/venv/lib/python3.10/site-packages/fontTools/misc/cliTools.pymakeOutputFileName
   s"   r   )NNFr   )__doc__r   recompiler	   r   r   r   r   r   <module>   s    
