mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
44 lines
1.2 KiB
Python
Executable File
44 lines
1.2 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
# coding: utf-8
|
|
"""
|
|
Converts files with 2to3
|
|
~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
Creates a Python 3 version of each file.
|
|
|
|
The Python3 version of a file foo.py will be called foo3.py.
|
|
|
|
:copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS.
|
|
:license: BSD, see LICENSE for details.
|
|
"""
|
|
import os
|
|
import sys
|
|
from glob import iglob
|
|
from optparse import OptionParser
|
|
from shutil import copy
|
|
from distutils.util import run_2to3
|
|
|
|
def main(argv):
|
|
parser = OptionParser(usage='%prog [path]')
|
|
parser.add_option('-i', '--ignorepath', dest='ignored_paths',
|
|
action='append', default=[])
|
|
options, args = parser.parse_args(argv)
|
|
|
|
ignored_paths = {os.path.abspath(p) for p in options.ignored_paths}
|
|
|
|
path = os.path.abspath(args[0]) if args else os.getcwd()
|
|
convertables = []
|
|
for filename in iglob(os.path.join(path, '*.py')):
|
|
if filename in ignored_paths:
|
|
continue
|
|
basename, ext = os.path.splitext(filename)
|
|
if basename.endswith('3'):
|
|
continue
|
|
filename3 = basename + '3' + ext
|
|
copy(filename, filename3)
|
|
convertables.append(filename3)
|
|
run_2to3(convertables)
|
|
|
|
if __name__ == "__main__":
|
|
main(sys.argv[1:])
|