コード例 #1
0
def processRecipes(textIO, resourceFile):
    RecipeMap = mmFile.RecipeMap(resourceFile)
    out = io.StringIO()
    for line in textIO:
        energy_txt = ""
        prob_txt = ""
        mult_txt = ""
        formula = ""
        line_out = line.strip("\n")
        l = UP.unquote(line_out)
        txt = l.split('#',1)[0]
        category = SL.getCategory(txt)
        if category!="other":
            substanceName = txt[len(category):]
        else:
            substanceName = txt
        f = EF.RESOURCES[category]
        substanceDict = RecipeMap[substanceName]
        if substanceDict is not None:
            rarity = substanceDict['rarity'] if substanceDict.get('rarity') is not None else 70
            energy_txt = ENERGY_FMT.format(energy=f(rarity))
            mult = getMultiplier(category)
            mult_txt = "" if mult==1 else MULT_FMT.format(mult=mult)
            if category=='ore':
                prob = substanceDict['prob'] if substanceDict.get('prob') is not None else 1
                prob_txt = "" if prob==1 else PROB_FMT.format(prob=prob)
            formula = substanceDict['formula'] if substanceDict.get('formula') is not None else "water"
        print(line_out," ".join([energy_txt, prob_txt, mult_txt, formula]), file=out)
    return out
コード例 #2
0
def getFileDict(filenames):
    out = dict()
    for fn in filenames:
        fnl = fn.split('.')
        if len(fnl)==3:
            cat = SL.getCategory(fnl[1])
            out[cat] = open(fn,'rt')
    return out