Esempio n. 1
0
    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)
Esempio n. 2
0
 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)
Esempio n. 3
0
 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