コード例 #1
0
def _isPythonFile(filename):
    if filename.endswith((".py", ".pyw", ".scons")):
        return True
    else:
        shebang = getShebangFromFile(filename)

        if shebang is not None:
            shebang = shebang[2:].lstrip()
            if shebang.startswith("/usr/bin/env"):
                shebang = shebang[12:].lstrip()

            if shebang.startswith("python"):
                return True

    return False
コード例 #2
0
ファイル: Autoformat.py プロジェクト: kayhayen/Nuitka
def _isPythonFile(filename):
    if filename.endswith((".py", ".pyw")):
        return True
    else:
        shebang = getShebangFromFile(filename)

        if shebang is not None:
            shebang = shebang[2:].lstrip()
            if shebang.startswith("/usr/bin/env"):
                shebang = shebang[12:].lstrip()

            if shebang.startswith("python"):
                return True

    return False
コード例 #3
0
ファイル: ScanSources.py プロジェクト: txf626/Nuitka
def isPythonFile(filename, effective_filename=None):
    if effective_filename is None:
        effective_filename = filename

    if os.path.isdir(filename):
        return False

    if effective_filename.endswith((".py", ".pyw", ".scons")):
        return True
    else:
        shebang = getShebangFromFile(filename)

        if shebang is not None:
            shebang = shebang[2:].lstrip()
            if shebang.startswith("/usr/bin/env"):
                shebang = shebang[12:].lstrip()

            if shebang.startswith("python"):
                return True

    return False
コード例 #4
0
def addFromDirectory(path, suffixes, blacklist):
    for dirpath, dirnames, filenames in os.walk(path):
        dirnames.sort()

        if "inline_copy" in dirnames:
            dirnames.remove("inline_copy")

        if "__pycache__" in dirnames:
            dirnames.remove("__pycache__")

        filenames.sort()

        for filename in filenames:
            if filename in blacklist:
                continue

            fullpath = os.path.join(dirpath, filename)

            # Ignore links
            if os.path.islink(fullpath):
                continue

            # Skip temporary files from flymake mode of Emacs.
            if filename.endswith("_flymake.py"):
                continue
            # Skip temporary files from unsaved files of Emacs.
            if filename.startswith(".#"):
                continue
            # Skip bytecode files
            if filename.endswith((".pyc", ".pyo")):
                continue

            # Python files only.
            if ".py" in suffixes and not filename.endswith(suffixes):
                shebang = getShebangFromFile(fullpath)

                if shebang is None or "python" not in shebang:
                    continue

            yield fullpath