fonttools/Lib/fontTools/misc/cliTools.py
Cosimo Lupo a0e74f7e69
move ttx.makeOutputFileName to new misc.cliTools module
so it can be reused for other console scripts
2017-01-13 11:16:01 +00:00

27 lines
839 B
Python

"""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