示例#1
0
 def download_galmap_text(self, label, lang="text"):
     data = db.belyi_galmaps_fixed.lookup(label)
     if data is None:
         return abort(404, "Label not found: %s" % label)
     return self._wrap(Json.dumps(data),
                       label,
                       title='Data for embedded Belyi map with label %s,'%label)
示例#2
0
def download_G2C_all(label):
    data = db.g2c_curves.lookup(label, label_col='label')
    if data is None:
        return genus2_jump_error(label, {})
    data_list = [data]

    response = make_response('\n\n'.join(Json.dumps(d) for d in data_list))
    response.headers['Content-type'] = 'text/plain'
    return response
示例#3
0
文件: download.py 项目: LMFDB/lmfdb
 def download_traces(self, label, lang='text'):
     data = self._get_traces(label)
     # to return errors
     if not isinstance(data,list):
         return data
     return self._wrap(Json.dumps(data),
                       label + '.traces',
                       lang=lang,
                       title='Trace form for %s,'%(label))
示例#4
0
 def download_traces(self, label, lang='text'):
     data = self._get_traces(label)
     # to return errors
     if not isinstance(data, list):
         return data
     return self._wrap(Json.dumps(data),
                       label + '.traces',
                       lang=lang,
                       title='Trace form for %s,' % (label))
示例#5
0
 def download_all(self, label, lang='text'):
     data = db.av_fq_isog.lookup(label)
     if data is None:
         return abort(404, "Label not found: %s" % label)
     return self._wrap(
         Json.dumps(data),
         label,
         lang=lang,
         title='Stored data for abelian variety isogeny class %s,' %
         (label))
示例#6
0
 def download_coefficients(self, label, lang='text'):
     data = db.maass_newforms.lookup(label, projection="coefficients")
     if data is None:
         return abort(404, "Coefficient data for Maass form %s not found in the database"%label)
     c = data
     data = [str(c[n]) for n in range(len(c))]
     return self._wrap(Json.dumps(data).replace('"',''),
                       label + '.coefficients',
                       lang=lang,
                       title='Coefficients for Maass form %s,'%(label))
示例#7
0
文件: download.py 项目: LMFDB/lmfdb
 def download_newspace(self, label, lang='text'):
     data = db.mf_newspaces.lookup(label)
     if data is None:
         return abort(404, "Label not found: %s"%label)
     space = WebNewformSpace(data)
     data['newforms'] = [form['label'] for form in space.newforms]
     data['oldspaces'] = space.oldspaces
     return self._wrap(Json.dumps(data),
                       label,
                       lang=lang,
                       title='Stored data for newspace %s,'%(label))
示例#8
0
 def download_newspace(self, label, lang='text'):
     data = db.mf_newspaces.lookup(label)
     if data is None:
         return abort(404, "Label not found: %s" % label)
     space = WebNewformSpace(data)
     data['newforms'] = [form['label'] for form in space.newforms]
     data['oldspaces'] = space.oldspaces
     return self._wrap(Json.dumps(data),
                       label,
                       lang=lang,
                       title='Stored data for newspace %s,' % (label))
示例#9
0
 def download_newform(self, label, lang='text'):
     data = db.mf_newforms.lookup(label)
     if data is None:
         return abort(404, "Label not found: %s" % label)
     form = WebNewform(data)
     if form.has_exact_qexp:
         data['qexp'] = form.qexp
         data['traces'] = form.texp
     return self._wrap(Json.dumps(data),
                       label,
                       lang=lang,
                       title='Stored data for newform %s,' % (label))
示例#10
0
 def download(self, label, lang='text'):
     data = db.maass_newforms.lookup(label)
     if data is None:
         return abort(404, "Maass form %s not found in the database"%label)
     for col in db.maass_newforms.col_type:
         if db.maass_newforms.col_type[col] == "numeric" and data.get(col):
             data[col] = str(data[col])
         if db.maass_newforms.col_type[col] == "numeric[]" and data.get(col):
             data[col] = [str(data[col][n]) for n in range(len(data[col]))]
     return self._wrap(Json.dumps(data),
                       label,
                       lang=lang,
                       title='All stored data for Maass form %s,'%(label))
示例#11
0
 def cc_generator():
     yield '[\n'
     for ev in db.mf_hecke_cc.search(
         {'hecke_orbit_code': code},
         ['label', 'embedding_root_real', 'embedding_root_imag', col],
             sort=['conrey_index', 'embedding_index']):
         D = {'label': ev.get('label'), col: ev.get(col)}
         root = (ev.get('embedding_root_real'),
                 ev.get('embedding_root_imag'))
         if root != (None, None):
             D['root'] = root
         yield Json.dumps(D) + ',\n\n'
     yield ']\n'
示例#12
0
 def download_full_space(self, label, lang='text'):
     try:
         space = WebGamma1Space.by_label(label)
     except ValueError:
         return abort(404, "Label not found: %s"%label)
     data = {}
     for attr in ['level', 'weight', 'label', 'oldspaces']:
         data[attr] = getattr(space, attr)
     data['newspaces'] = [spc['label'] for spc, forms in space.decomp]
     data['newforms'] = sum([[form['label'] for form in forms] for spc, forms in space.decomp], [])
     data['dimgrid'] = space.dim_grid._grid
     return self._wrap(Json.dumps(data),
                       label,
                       lang=lang,
                       title='Stored data for newspace %s,'%(label))
示例#13
0
 def download_newform(self, label, lang='text'):
     data = db.mf_newforms.lookup(label)
     if data is None:
         return abort(404, "Label not found: %s" % label)
     form = WebNewform(data)
     form.setup_cc_data({'m': '1-%s' % form.dim})
     if form.has_exact_qexp:
         data['qexp'] = form.qexp
         data['traces'] = form.texp
     if form.has_complex_qexp:
         data['complex_embeddings'] = form.cc_data
     return self._wrap(Json.dumps(data),
                       label,
                       lang=lang,
                       title='Stored data for newform %s,' % (label))
示例#14
0
文件: main.py 项目: LMFDB/lmfdb
def download_ECNF_all(nf,conductor_label,class_label,number):
    conductor_label = unquote(conductor_label)
    conductor_label = convert_IQF_label(nf,conductor_label)
    try:
        nf_label = nf_string_to_label(nf)
    except ValueError:
        return search_input_error()
    label = "".join(["-".join([nf_label, conductor_label, class_label]), number])
    data = db.ec_nfcurves.lookup(label)
    if data is None:
        return search_input_error()

    response = make_response(Json.dumps(data))
    response.headers['Content-type'] = 'text/plain'
    return response
示例#15
0
def download_ECNF_all(nf,conductor_label,class_label,number):
    conductor_label = unquote(conductor_label)
    conductor_label = convert_IQF_label(nf,conductor_label)
    try:
        nf_label = nf_string_to_label(nf)
    except ValueError:
        return search_input_error()
    label = "".join(["-".join([nf_label, conductor_label, class_label]), number])
    data = db.ec_nfcurves.lookup(label)
    if data is None:
        return search_input_error()

    response = make_response(Json.dumps(data))
    response.headers['Content-type'] = 'text/plain'
    return response
示例#16
0
文件: download.py 项目: LMFDB/lmfdb
 def download_newform(self, label, lang='text'):
     data = db.mf_newforms.lookup(label)
     if data is None:
         return abort(404, "Label not found: %s"%label)
     form = WebNewform(data)
     form.setup_cc_data({'m':'1-%s'%form.dim})
     if form.has_exact_qexp:
         data['qexp'] = form.qexp
         data['traces'] = form.texp
     if form.has_complex_qexp:
         data['complex_embeddings'] = form.cc_data
     return self._wrap(Json.dumps(data),
                       label,
                       lang=lang,
                       title='Stored data for newform %s,'%(label))
示例#17
0
文件: download.py 项目: LMFDB/lmfdb
 def download_full_space(self, label, lang='text'):
     try:
         space = WebGamma1Space.by_label(label)
     except ValueError:
         return abort(404, "Label not found: %s"%label)
     data = {}
     for attr in ['level', 'weight', 'label', 'oldspaces']:
         data[attr] = getattr(space, attr)
     data['newspaces'] = [spc['label'] for spc, forms in space.decomp]
     data['newforms'] = sum([[form['label'] for form in forms] for spc, forms in space.decomp], [])
     data['dimgrid'] = space.dim_grid._grid
     return self._wrap(Json.dumps(data),
                       label,
                       lang=lang,
                       title='Stored data for newspace %s,'%(label))
示例#18
0
 def download_embedding(self, label, lang='text'):
     data = db.mf_hecke_cc.lucky({'label': label}, [
         'label', 'embedding_root_real', 'embedding_root_imag',
         'an_normalized', 'angles'
     ])
     if data is None:
         return abort(404, "No embedded newform found for %s" % (label))
     root = (data.pop('embedding_root_real',
                      None), data.pop('embedding_root_imag', None))
     if root != (None, None):
         data['root'] = root
     return self._wrap(Json.dumps(data),
                       label,
                       lang=lang,
                       title='Coefficient data for embedded newform %s,' %
                       label)
示例#19
0
文件: download.py 项目: LMFDB/lmfdb
 def cc_generator():
     yield '[\n'
     for ev in db.mf_hecke_cc.search(
             {'hecke_orbit_code':code},
             ['label',
              'embedding_root_real',
              'embedding_root_imag',
              col],
             sort=['conrey_index', 'embedding_index']):
         D = {'label':ev.get('label'),
              col:ev.get(col)}
         root = (ev.get('embedding_root_real'),
                 ev.get('embedding_root_imag'))
         if root != (None, None):
             D['root'] = root
         yield Json.dumps(D) + ',\n\n'
     yield ']\n'
示例#20
0
文件: download.py 项目: LMFDB/lmfdb
 def download_embedding(self, label, lang='text'):
     data = db.mf_hecke_cc.lucky({'label':label},
                                 ['label',
                                  'embedding_root_real',
                                  'embedding_root_imag',
                                  'an_normalized',
                                  'angles'])
     if data is None:
         return abort(404, "No embedded newform found for %s"%(label))
     root = (data.pop('embedding_root_real', None),
             data.pop('embedding_root_imag', None))
     if root != (None, None):
         data['root'] = root
     return self._wrap(Json.dumps(data),
                       label,
                       lang=lang,
                       title='Coefficient data for embedded newform %s,'%label)
示例#21
0
def download_EC_all(label):
    try:
        N, iso, number = split_lmfdb_label(label)
    except (ValueError,AttributeError):
        return elliptic_curve_jump_error(label, {})
    if number:
        data = db.ec_curvedata.lookup(label, label_col='lmfdb_label')
        if data is None:
            return elliptic_curve_jump_error(label, {})
        data_list = [data]
    else:
        data_list = list(db.ec_curvedata.search({'lmfdb_iso': label}, sort=['lmfdb_number']))
        if not data_list:
            return elliptic_curve_jump_error(label, {})

    response = make_response('\n\n'.join(Json.dumps(d) for d in data_list))
    response.headers['Content-type'] = 'text/plain'
    return response
示例#22
0
def download_EC_all(label):
    try:
        N, iso, number = split_lmfdb_label(label)
    except (ValueError,AttributeError):
        return elliptic_curve_jump_error(label, {})
    if number:
        data = db.ec_curves.lookup(label, label_col='lmfdb_label')
        if data is None:
            return elliptic_curve_jump_error(label, {})
        data_list = [data]
    else:
        data_list = list(db.ec_curves.search({'lmfdb_iso': label}, projection=2, sort=['number']))
        if len(data_list) == 0:
            return elliptic_curve_jump_error(label, {})

    response = make_response('\n\n'.join(Json.dumps(d) for d in data_list))
    response.headers['Content-type'] = 'text/plain'
    return response
示例#23
0
文件: main.py 项目: rbommel/lmfdb
def download_ECNF_all(nf,conductor_label,class_label,number):
    conductor_label = unquote(conductor_label)
    try:
        nf_label = nf_string_to_label(nf)
    except ValueError:
        flash_error("%s is not a valid number field label", nf_label)
        return redirect(url_for(".index"))
    label = "".join(["-".join([nf_label, conductor_label, class_label]), number])
    if not LABEL_RE.fullmatch(label):
        flash_error("%s is not a valid elliptic curve label.", label)
        return redirect(url_for(".index"))
    data = db.ec_nfcurves.lookup(label)
    if data is None:
        flash_error("%s is not the label of an elliptic curve in the database.", label)
        return redirect(url_for(".index"))

    response = make_response(Json.dumps(data))
    response.headers['Content-type'] = 'text/plain'
    return response
示例#24
0
 def download_galmap_text(self, label, lang="text"):
     data = db.belyi_galmaps.lookup(label)
     return self._wrap(Json.dumps(data),
                       label,
                       title='Data for embedded Belyi map with label %s,' %
                       label)