Esempio n. 1
0
def do_fixup(plan):
    # single file, no merge, simple rename
    if len(plan.pickle_files) == 1:
        dst = join(plan.log_d, '.'.join((PICKLE_NAME, plan.func, "p")))
        os.rename(plan.pickle_files[0], dst)
        print("@RENAME: %s => %s" % (plan.pickle_files[0], dst))
    # scattered to multiple files, merge them all
    else:
        pathbin = PathBin(plan.log_d).load_from_pickle(plan.func,
                                                       plan.pickle_files[0])
        print("@MERGE: %s " % plan.pickle_files[0])
        assert (pathbin)
        for pickle in plan.pickle_files[1:]:
            tempbin = PathBin(plan.log_d).load_from_pickle(plan.func, pickle)
            print("@MERGE: %s " % pickle)
            assert (tempbin)
            pathbin.merge(tempbin)
        pathbin.save_as_pickle()

        # remove temp. pickle files
        for pickle in plan.pickle_files:
            os.remove(pickle)
    return 0
Esempio n. 2
0
 def load_pathbin_from_pickle(self, func, pkl_name):
     if not self.pathbin:
         self.pathbin = PathBin("", verbose=False)
     self.pathbin.load_from_pickle(func, pkl_name)
     return
Esempio n. 3
0
 def load_pathbin(self, log_d):
     self.pathbin = PathBin(log_d, verbose=False)
     self.pathbin = self.pathbin.load_pickle()
     return self if self.pathbin is not None else None
Esempio n. 4
0
def do_pickle(plan):
    pathbin = PathBin(plan.log_d, plan.get_pickle_name())
    pathbin.parse_file(plan.fss, plan.start, plan.end)
    pathbin.save_as_pickle()
    return 0