Ejemplo n.º 1
0
    def GET(self, tracker):

        cache = Cache.Cache(tracker, mode="r")
        data = DataTree.fromCache(cache)
        table, row_headers, col_headers = DataTree.tree2table(data)

        return render.data_table(table, row_headers, col_headers)
Ejemplo n.º 2
0
    def GET(self, tracker):

        cache = Cache.Cache(tracker, mode="r")
        data = DataTree.fromCache(cache)
        table, row_headers, col_headers = DataTree.tree2table(data)

        return render.data_table(table, row_headers, col_headers)
Ejemplo n.º 3
0
def main():

    parser = optparse.OptionParser(version="%prog version: $Id$", usage=USAGE)

    parser.add_option("-v", "--verbose", dest="loglevel", type="int",
                      help="loglevel. The higher, the more output [default=%default]")

    parser.add_option("-i", "--view", dest="view", action="store_true",
                      help="view keys in cache [default=%default]")

    parser.add_option("-t", "--tracker", dest="tracker", type="string",
                      help="tracker to use [default=%default]")

    parser.add_option("-a", "--tracks", dest="tracks", type="string",
                      help="tracks to include [default=%default]")

    parser.add_option("-s", "--slices", dest="slices", type="string",
                      help="slices to include [default=%default]")

    parser.add_option("-g", "--groupby", dest="groupby", type="choice",
                      choices=("track", "slice", "all"),
                      help="groupby by track or slice [default=%default]")

    parser.add_option("-f", "--format", dest="format", type="choice",
                      choices=("tsv", "csv"),
                      help="output format [default=%default]")

    parser.set_defaults(
        loglevel=2,
        view=False,
        tracker=None,
        tracks=None,
        slices=None,
        groupby="slice",
        format="tsv",
    )

    (options, args) = parser.parse_args()

    if len(args) != 1 and options.tracker == None:
        print(USAGE)
        raise ValueError("please supply a tracker.""")

    if options.tracker:
        tracker = options.tracker
    else:
        tracker = args[0]

    cache = Cache.Cache(tracker, mode="r")

    if options.view:
        keys = [x.split("/") for x in list(cache.keys())]
        sys.stdout.write("# available tracks\n")
        sys.stdout.write("track\n%s" % "\n".join(set([x[0] for x in keys])))
        sys.stdout.write("\n")
        sys.stdout.write("# available slices\n")
        sys.stdout.write("slice\n%s" % "\n".join(set([x[1] for x in keys])))
        sys.stdout.write("\n")
        return

    data = DataTree.fromCache(cache,
                              tracks=options.tracks,
                              slices=options.slices,
                              groupby=options.groupby)

    table, row_headers, col_headers = DataTree.tree2table(data)

    if options.format in ("tsv", "csv"):
        if options.format == "tsv":
            sep = "\t"
        elif options.format == "csv":
            sep = ","
        sys.stdout.write(sep + sep.join(col_headers) + "\n")
        for h, row in zip(row_headers, table):
            sys.stdout.write("%s%s%s\n" % (h, sep, sep.join(row)))