Beispiel #1
0
def kegg_find(*args):
    if not hasattr(kegg_find,"cache"):
        if os.path.isfile("kegg_find.cache"):
            kegg_find.cache = pickle.load(open("kegg_find.cache","rb"))
        else:
            kegg_find.cache = {}

    if args not in kegg_find.cache or kegg_find.cache[args] is None:
        k = KEGG()
        result = k.find(*args)
        kegg_find.cache[args] = result
        with open("kegg_find.cache~","wb") as f:
            pickle.dump(kegg_find.cache, f)
        os.rename("kegg_find.cache~", "kegg_find.cache")
        return result
    else:
        return kegg_find.cache[args]