def _download_cc(self, label, lang, col, suffix, title): try: code = encode_hecke_orbit(label) except ValueError: return abort(404, "Invalid label: %s" % label) if not db.mf_hecke_cc.exists({'hecke_orbit_code': code}): return abort(404, "No form found for %s" % (label)) 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' filename = label + suffix title += ' for newform %s,' % (label) return self._wrap_generator(cc_generator(), filename, lang=lang, title=title)
def _download_cc(self, label, lang, col, suffix, title): try: code = encode_hecke_orbit(label) except ValueError: return abort(404, "Invalid label: %s"%label) if not db.mf_hecke_cc.exists({'hecke_orbit_code':code}): return abort(404, "No form found for %s"%(label)) 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' filename = label + suffix title += ' for newform %s,'%(label) return self._wrap_generator(cc_generator(), filename, lang=lang, title=title)
def _get_hecke_nf(self, label): try: code = encode_hecke_orbit(label) except ValueError: return abort(404, "Invalid label: %s" % label) eigenvals = db.mf_hecke_nf.search({'hecke_orbit_code': code}, ['n', 'an', 'trace_an'], sort=['n']) if not eigenvals: return abort(404, "No form found for %s" % (label)) data = [] for i, ev in enumerate(eigenvals): if ev['n'] != i + 1: return abort( 404, "Database error (please report): %s missing a(%s)" % (label, i + 1)) data.append((ev.get('an'), ev.get('trace_an'))) return data