コード例 #1
0
ファイル: marcook.py プロジェクト: gglyptodon/marcook
def main():
    crd = pickle.load(open("./crdy.nope",'r'))
    outfile = None
    outdebug = None
    searchterms = ["strawberries","gorgonzola"] 
    try:
        opts, args = getopt.gnu_getopt(sys.argv[1:], "o:s:h", ["out=","search=","help"])
    except getopt.GetoptError as err:
        print (str(err))
        usage()
    for o, a in opts:
        if o in ("-o", "--out"):
            outfile = a
            autdebug = a+".debug"
        elif o in ("-h", "--help"):
            usage()
        elif o in ("-s", "--search"):
            searchterms = a.split(" ")
        else:
            assert False, "unhandled option"
    
    if outfile is None:
        outfile = "out.tmp"
        outdebug = outfile+".debug"


    rec = searchRecipes(crd=crd, searchterms = searchterms)
    #print(rec)
    corpus = []
    randomRec = set()
    for i in range(0,5):
        randomRec.add(random.choice(rec))
     
    with open(outdebug,'w') as o:
        for r in randomRec:
            print(r,"RR")
            o.write(r)
            o.write("\n")
            ing = returnIngredients(recipeName = r, crd = crd)
            print("ing", r, returnIngredients(recipeName = r, crd = crd))
            corpus += ing
    
    corpus = [c.encode('utf-8') for c in corpus]
    jc = " ".join(corpus)
    jc = jc.replace("\n"," ")
    with open(outdebug, 'w') as o:
        o.write("***".join(corpus))
        o.write("\n")
        o.write(jc)
    
    mc = MarkovChain(corpus = jc, separator = " ")
    result = mc.printSth(2000)
    with open(outfile, 'w') as o:
        o.write(result)