Beispiel #1
0
def get_coefficients(info):
    r"""
    Return a file with the Fourier coefficients in desired format.
    """
    emf_logger.debug("IN GET_COEFFICIENTS!!!")
    level = my_get(info, 'level', -1, int)
    weight = my_get(info, 'weight', -1, int)
    character = my_get(info, 'character', '', int)  # int(info.get('weight',0))
    number = my_get(info, 'number', 100, int)
    label = my_get(info, 'label', '', str)
    emf_logger.debug("info={0}".format(info))
    if character == '':
        character = 1
    label = info.get('label', '')
    if info['format'] == "sage":
        ending = "sage"
        f = WebNewForm(level, weight, character, label, prec=number)
        s = f.download_to_sage(number)
    elif info['format'] == "sobj":
        ending = "sobj"
        f = WebNewForm(level, weight, character, label, prec=number)
        s = f.dump_coefficients(number)
    else:
        # we only want one form or one embedding
        try:
            s = print_list_of_coefficients(info)
        except IndexError as e:
            info['error'] = str(e)
            flask.flash(str(e))
            return redirect(url_for("emf.render_elliptic_modular_forms",
                                    level=level,
                                    weight=weight,
                                    character=character,
                                    label=label),
                            code=301)
        ending = "txt"
    if info['format'] == 'q_expansion':
        fmt = '-qexp'
    elif info['format'] == "coefficients" or info['format'] == "sobj":
        fmt = '-coef'
    elif info['format'] == "embeddings":
        fmt = '-emb'
    else:
        fmt = ''
    info['filename'] = "{0}-{1}-{2}-{3}-coefficients-0-to-{4}{5}.{6}".format(
        level, weight, character, label, number, fmt, ending)
    # return send_file(info['tempfile'], as_attachment=True, attachment_filename=info['filename'], add_etags=False)

    strIO = StringIO.StringIO()
    strIO.write(s)
    strIO.seek(0)
    return send_file(strIO,
                     attachment_filename=info["filename"],
                     as_attachment=True,
                     add_etags=False)
Beispiel #2
0
def get_coefficients(info):
    r"""
    Return a file with the Fourier coefficients in desired format.
    """
    emf_logger.debug("IN GET_COEFFICIENTS!!!")
    level = my_get(info, "level", -1, int)
    weight = my_get(info, "weight", -1, int)
    character = my_get(info, "character", "", int)  # int(info.get('weight',0))
    number = my_get(info, "number", 100, int)
    label = my_get(info, "label", "", str)
    emf_logger.debug("info={0}".format(info))
    if character == "":
        character = 1
    label = info.get("label", "")
    if info["format"] == "sage":
        ending = "sage"
        f = WebNewForm(level, weight, character, label, prec=number)
        s = f.download_to_sage(number)
    elif info["format"] == "sobj":
        ending = "sobj"
        f = WebNewForm(level, weight, character, label, prec=number)
        s = f.dump_coefficients(number)
    else:
        # we only want one form or one embedding
        try:
            s = print_list_of_coefficients(info)
        except IndexError as e:
            info["error"] = str(e)
            flask.flash(str(e))
            return redirect(
                url_for(
                    "emf.render_elliptic_modular_forms", level=level, weight=weight, character=character, label=label
                ),
                code=301,
            )
        ending = "txt"
    if info["format"] == "q_expansion":
        fmt = "-qexp"
    elif info["format"] == "coefficients" or info["format"] == "sobj":
        fmt = "-coef"
    elif info["format"] == "embeddings":
        fmt = "-emb"
    else:
        fmt = ""
    info["filename"] = "{0}-{1}-{2}-{3}-coefficients-0-to-{4}{5}.{6}".format(
        level, weight, character, label, number, fmt, ending
    )
    # return send_file(info['tempfile'], as_attachment=True, attachment_filename=info['filename'], add_etags=False)

    strIO = StringIO.StringIO()
    strIO.write(s)
    strIO.seek(0)
    return send_file(strIO, attachment_filename=info["filename"], as_attachment=True, add_etags=False)