Beispiel #1
0
def main(argv=None):
    """script main.
    parses command line options in sys.argv, unless *argv* is given.
    """

    if argv is None:
        argv = sys.argv

    # setup command line parser
    parser = E.OptionParser(version="%prog version: $Id$",
                            usage=globals()["__doc__"])

    parser.add_option("-t",
                      "--test",
                      dest="test",
                      type="string",
                      help="supply help")

    parser.set_defaults(
        directories=["scripts", "CGAT", "CGAT/scripts", "CGATPipelines"])

    # add common options (-h/--help, ...) and parse command line
    (options, args) = E.Start(parser, argv=argv)

    # collect all dependencies
    dependencies = {}
    for directory in options.directories:
        files = glob.glob(os.path.join(directory, "*.py"))
        E.debug("processing %i files in %s" % (len(files), directory))

        for f in files:
            dependencies[f] = Requirements.checkRequirementsFromFile(f)

    # group by tool
    tools = collections.defaultdict(list)
    for key, deps in list(dependencies.items()):
        for r in deps:
            tools[r.tool].append((r, key))

    options.stdout.write("tool\trequired\tinstalled\tis_required\tlocations\n")
    for tool, deps in sorted(tools.items()):
        options.stdout.write("\t".join(
            (tool, ",".join(
                numpy.unique(
                    [x[0].operation + x[0].required_version for x in deps])),
             ",".join(numpy.unique([x[0].installed_version for x in deps])),
             str(not numpy.all([x[0].optional for x in deps])),
             ",".join(numpy.unique([x[1] for x in deps])))) + "\n")

    E.Stop()
Beispiel #2
0
def main(argv=None):
    """script main.
    parses command line options in sys.argv, unless *argv* is given.
    """

    if argv is None:
        argv = sys.argv

    # setup command line parser
    parser = E.OptionParser(version="%prog version: $Id$",
                            usage=globals()["__doc__"])

    parser.add_option("-t", "--test", dest="test", type="string",
                      help="supply help")

    parser.set_defaults(
        directories=["scripts", "CGAT", "CGATPipelines"])

    # add common options (-h/--help, ...) and parse command line
    (options, args) = E.Start(parser, argv=argv)

    # collect all dependencies
    dependencies = {}
    for directory in options.directories:
        files = glob.glob(os.path.join(directory, "*.py"))
        E.debug("processing %i files in %s" % (len(files), directory))

        for f in files:
            dependencies[f] = Requirements.checkRequirementsFromFile(f)

    # group by tool
    tools = collections.defaultdict(list)
    for key, deps in dependencies.items():
        for r in deps:
            tools[r.tool].append((r, key))

    options.stdout.write(
        "tool\trequired\tinstalled\tis_required\tlocations\n")
    for tool, deps in sorted(tools.items()):
        options.stdout.write("\t".join((
            tool,
            ",".join(numpy.unique(
                [x[0].operation + x[0].required_version for x in deps])),
            ",".join(numpy.unique(
                [x[0].installed_version for x in deps])),
            str(not numpy.all([x[0].optional for x in deps])),
            ",".join(numpy.unique(
                [x[1] for x in deps])))) + "\n")

    E.Stop()