Пример #1
0
def main():
    if '--' in sys.argv:
        argslen = sys.argv.index('--')
    else:
        argslen = len(sys.argv)
    args = sys.argv[1:argslen]
    del sys.argv[1:argslen + 1]

    if len(args) == 2:
        targetpackage, testfile = args
        outfile = None
    elif len(args) == 3:
        targetpackage, testfile, outfile = args
    else:
        sys.stderr.write(
            'Usage: %s targetmodule testfile [outfile] [ -- testargs]\n' %
            sys.argv[0])
        sys.exit(2)

    # help us with local imports
    filemodule = os.path.dirname(os.path.abspath(testfile))
    sys.path.append(filemodule)

    targetmod = __import__(targetpackage)
    targetfile = inspect.getfile(targetmod)
    pinfer.infer_module(targetmod)

    if outfile:

        @atexit.register
        def rewrite_file(targetfile=targetfile,
                         outfile=outfile,
                         pinfer=pinfer):
            if targetfile.endswith(".pyc"):
                targetfile = targetfile[0:-1]
            annotated = pinfer.annotate_file(targetfile)
            open(outfile, "w").write(annotated)
    else:
        pinfer.dump_at_exit()

    pinfer.ignore_files.add(os.path.abspath(testfile))

    # run testfile as main
    del sys.modules['__main__']
    imp.load_source('__main__', testfile)
Пример #2
0
def main():
    if '--' in sys.argv:
        argslen = sys.argv.index('--')
    else:
        argslen = len(sys.argv)
    args = sys.argv[1:argslen]
    del sys.argv[1:argslen + 1]

    if len(args) == 2:
        targetpackage, testfile = args
        outfile = None
    elif len(args) == 3:
        targetpackage, testfile, outfile = args
    else:
        sys.stderr.write('Usage: %s targetmodule testfile [outfile] [ -- testargs]\n' %
                         sys.argv[0])
        sys.exit(2)

    # help us with local imports
    filemodule = os.path.dirname(os.path.abspath(testfile))
    sys.path.append(filemodule)

    targetmod = __import__(targetpackage)
    targetfile = inspect.getfile(targetmod)
    pinfer.infer_module(targetmod)

    if outfile:
        @atexit.register
        def rewrite_file(targetfile=targetfile, outfile=outfile, pinfer=pinfer):
            if targetfile.endswith(".pyc"):
                targetfile = targetfile[0:-1]
            annotated = pinfer.annotate_file(targetfile)
            open(outfile, "w").write(annotated)
    else:
        pinfer.dump_at_exit()

    pinfer.ignore_files.add(os.path.abspath(testfile))

    # run testfile as main
    del sys.modules['__main__']
    imp.load_source('__main__', testfile)
Пример #3
0
def inferring_import(*args, **kwargs):
    module = iport(*args, **kwargs)
    if module not in watched:
        watched.add(module)
        pinfer.infer_module(module)
    return module
Пример #4
0
def inferring_import(*args, **kwargs):
    module = iport(*args, **kwargs)
    if module not in watched:
        watched.add(module)
        pinfer.infer_module(module)
    return module