def write_procpar(filename, dic, overwrite=False):
    # open the file for writing
    f = fileiobase.open_towrite(filename, overwrite=overwrite, mode='w')

    for key in dic.keys():  # loop over the parameters

        d = dic[key]
        # print(out the first line)
        print(d["name"], d["subtype"], d["basictype"],
              d["maxvalue"], d["minvalue"], d["stepsize"],
              d["Ggroup"], d["Dgroup"], d["protection"],
              d["active"], d["intptr"], file=f)

        # print out the next line(s) (and more if strings)
        if d["basictype"] == "1":   # real values, one line
            print(len(d["values"]), end=' ', file=f)  # don't end the line
            for value in d["values"]:
                print(value, end=' ', file=f)    # still not yet
            print("", file=f)   # now end the line

        elif d["basictype"] == "2":     # strings, may have multiple lines
            print(len(d["values"]), end=' ', file=f)  # don't end the line
            for value in d["values"]:
                # now end the line (for each string)
                print('"' + value + '"', file=f)

        # print out the last line
        print(d["enumerable"], end=' ', file=f)

        if d["enumerable"] != "0":
            for e in d["enumerables"]:
                if d["basictype"] == "1":  # reals
                    print(e, end=' ', file=f)
                elif d["basictype"] == "2":  # strings
                    print('"' + e + '"', end=' ', file=f)
        print("", file=f)   # end the enumerable line

    f.close()

    return
Get all the template functions declared by plugins as a
dataset/ETHPy150Open jjhelmus/nmrglue/nmrglue/fileio/varian.py/write_procpar--crossover with--dataset/ETHPy150Open beetbox/beets/beets/plugins.py/template_funcs