aboutsummaryrefslogtreecommitdiff
path: root/Lib/fontTools/misc/cliTools.py
blob: 59ac3be17ac78a29fbd711d3d06a82b82134a0fc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
"""Collection of utilities for command-line interfaces and console scripts."""
from __future__ import print_function, division, absolute_import
from fontTools.misc.py23 import *
import os
import re


numberAddedRE = re.compile("#\d+$")


def makeOutputFileName(input, outputDir=None, extension=None, overWrite=False):
    dirName, fileName = os.path.split(input)
    fileName, ext = os.path.splitext(fileName)
    if outputDir:
        dirName = outputDir
    fileName = numberAddedRE.split(fileName)[0]
    if extension is None:
        extension = os.path.splitext(input)[1]
    output = os.path.join(dirName, fileName + extension)
    n = 1
    if not overWrite:
        while os.path.exists(output):
            output = os.path.join(
                dirName, fileName + "#" + repr(n) + extension)
            n += 1
    return output