Source

pyd / pyd_support.py

from distutils.errors import DistutilsPlatformError
import sys
from celerid.dcompiler import _infraDir
import os.path

def make_pydmain(outputFile, projname):
    mainTemplatePath = os.path.join(_infraDir, 'd', 'pydmain_template.d')
    if not os.path.isfile(mainTemplatePath):
        raise DistutilsPlatformError(
            "Required supporting code file %s is missing." % mainTemplatePath
        )
    mainTemplate = open(mainTemplatePath).read()
    mainFileContent = mainTemplate % {'modulename' : projname}
    mainFile = open(outputFile, 'w')
    mainFile.write(mainFileContent)
    mainFile.close()

def make_pyddef(outputFile, projname):
    defTemplatePath = os.path.join(_infraDir, 'd',
        'python_dll_def.def_template'
    )
    if not os.path.isfile(defTemplatePath):
        raise DistutilsFileError('Required def template file "%s" is'
            ' missing.' % defTemplatePath
        )
    f = open(defTemplatePath)
    try:
        defTemplate = f.read()
    finally:
        f.close()
    defFileContent = defTemplate % projname
    f = open(outputFile, 'w')
    try:
        f.write(defFileContent)
    finally:
        f.close()

if __name__ == '__main__':
    make_pydmain(sys.argv[2], sys.argv[1])
    make_pyddef(sys.argv[3], sys.argv[1])
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.