diff --git a/lmfdb/app.py b/lmfdb/app.py index a2c3cb531a..073616e0b3 100644 --- a/lmfdb/app.py +++ b/lmfdb/app.py @@ -308,32 +308,6 @@ def netloc_redirect(): return redirect(urlunparse(replaced), code=302) -@cached_function -def bad_bots_list(): - return [ - elt.lower() - for elt in [ - "The Knowledge AI", - "Wolfram", - "petalbot", - "Bytespider", - "Sogou", - "MJ12bot", - "Amazonbot", - "meta", - "facebook", - ] - ] - - -@app.before_request -def badbot(): - ua = request.user_agent.string.lower() - for elt in bad_bots_list(): - if elt in ua: - return render_template("404.html", title='Too many requests'), 429 - - def timestamp(): return '[%s UTC]' % time.strftime("%Y-%m-%d %H:%M:%S", time.gmtime()) diff --git a/lmfdb/elliptic_curves/code.yaml b/lmfdb/elliptic_curves/code.yaml index 271b725ee7..820de91731 100644 --- a/lmfdb/elliptic_curves/code.yaml +++ b/lmfdb/elliptic_curves/code.yaml @@ -35,7 +35,7 @@ curve: sage: E = EllipticCurve({ainvs}) pari: E = ellinit({ainvs}) magma: E := EllipticCurve({ainvs}); - oscar: E = EllipticCurve({ainvs}) + oscar: E = elliptic_curve({ainvs}) simple_curve: sage: E.short_weierstrass_model() diff --git a/lmfdb/groups/abstract/templates/abstract-show-subgroup.html b/lmfdb/groups/abstract/templates/abstract-show-subgroup.html index e5642609f6..99341f2033 100644 --- a/lmfdb/groups/abstract/templates/abstract-show-subgroup.html +++ b/lmfdb/groups/abstract/templates/abstract-show-subgroup.html @@ -13,11 +13,11 @@

Subgroup ($H$) information

{% else %} {{KNOWL('group.name', title='Description:')}}not computed {% endif %} - {{KNOWL('group.order',title='Order:')}} {{info.pos_int_and_factor(seq.subgroup_order)}} - {{KNOWL('group.subgroup.index',title='Index:')}} {{info.pos_int_and_factor(seq.quotient_order)}} + {{KNOWL('group.order',title='Order:')}} {{info.pos_int_and_factor(seq.subgroup_order) | safe}} + {{KNOWL('group.subgroup.index',title='Index:')}} {{info.pos_int_and_factor(seq.quotient_order) | safe}} {{KNOWL('group.exponent',title='Exponent:')}} {% if seq.sub.exponent %} - {{info.pos_int_and_factor(seq.sub.exponent)}} + {{info.pos_int_and_factor(seq.sub.exponent) | safe}} {% else %} not computed {% endif %} @@ -31,7 +31,7 @@

Subgroup ($H$) information

class:')}} {% if seq.sub.G %} - ${{seq.sub.nilpotency_class}}$ + ${{seq.sub.nilpotency_class}}$ {% else %} not computed {% endif %} @@ -45,7 +45,7 @@

Subgroup ($H$) information

not computed {% endif %} - +

@@ -68,8 +68,8 @@

{{KNOWL('group.ambient', 'Ambient group ($G$) information')}}

- - + + {# Bug in generator Magma code, so hiding for now @@ -95,10 +95,10 @@

Quotient group ($Q$) structure

{{KNOWL('group.name', title='Description:')}} ${{seq.ambient_tex}}$
{{KNOWL('group.order',title='Order:')}} {{info.pos_int_and_factor(seq.ambient_order)}}
{{KNOWL('group.exponent',title='Exponent:')}} {{info.pos_int_and_factor(seq.amb.exponent)}}
{{KNOWL('group.order',title='Order:')}} {{info.pos_int_and_factor(seq.ambient_order) | safe}}
{{KNOWL('group.exponent',title='Exponent:')}} {{info.pos_int_and_factor(seq.amb.exponent) | safe}}
{% if seq.amb.solvable %}{{KNOWL('group.presentation', 'Presentation:')}}{% else %}{{KNOWL('group.permutation_gens', 'Generators:')}}{% endif %}
{% if seq.quotient is not none %} {% endif %} - - + {% if seq.aut_weyl_group is not none %} - + {% elif seq.aut_weyl_index is not none %} - + {% endif %} {% if seq.aut_centralizer_order is not none %} - + {% endif %} {% if seq.weyl_group is not none %} - + {% elif seq.normalizer is not none and seq.centralizer is not none %} - + {% else %} {% endif %} diff --git a/lmfdb/number_fields/code.yaml b/lmfdb/number_fields/code.yaml index b803a3dccd..e2457c2107 100644 --- a/lmfdb/number_fields/code.yaml +++ b/lmfdb/number_fields/code.yaml @@ -24,7 +24,7 @@ field: sage: x = polygen(QQ); K. = NumberField(%s) pari: K = bnfinit(%s, 1) magma: R := PolynomialRing(Rationals()); K := NumberField(%s); - oscar: Qx, x = PolynomialRing(QQ); K, a = NumberField(%s) + oscar: Qx, x = polynomial_ring(QQ); K, a = number_field(%s) poly: sage: K.defining_polynomial() diff --git a/lmfdb/number_fields/number_field.py b/lmfdb/number_fields/number_field.py index 6a1ca786ad..be0db630cb 100644 --- a/lmfdb/number_fields/number_field.py +++ b/lmfdb/number_fields/number_field.py @@ -777,7 +777,7 @@ def interesting(): 'gp' : '', 'magma' : 'R := PolynomialRing(Rationals());', 'mathematica' : '', - 'oscar' : 'Rx, x = PolynomialRing(QQ)', + 'oscar' : 'Rx, x = polynomial_ring(QQ)', 'sage' : 'x = polygen(QQ)', } @@ -785,7 +785,7 @@ def interesting(): 'gp' : '', # don't try to make fields in gp, even with nfinit it may take a very long time 'magma' : 'function make_data() return [NumberField(r[2]) : r in data]; end function;', 'mathematica' : '', - 'oscar' : 'function make_data() return [NumberField(r[2]) for r in data] end', + 'oscar' : 'function make_data() return [number_field(r[2]) for r in data] end', 'sage' : 'def make_data(): return [NumberField(r[1],"a") for r in data]', } download_makedata_comment = { diff --git a/lmfdb/static/robots.txt b/lmfdb/static/robots.txt index 02388e3480..758026bc36 100644 --- a/lmfdb/static/robots.txt +++ b/lmfdb/static/robots.txt @@ -1,5 +1,5 @@ User-agent: * -Crawl-delay: 15 +Crawl-delay: 30 Disallow: /static/ Disallow: /api/ diff --git a/lmfdb/templates/base.html b/lmfdb/templates/base.html index 9d87727d56..5484f4a9ae 100644 --- a/lmfdb/templates/base.html +++ b/lmfdb/templates/base.html @@ -25,6 +25,8 @@ href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/smoothness/jquery-ui.css" integrity="sha384-Nlo8b0yiGl7Dn+BgLn4mxhIIBU6We7aeeiulNCjHdUv/eKHx59s3anfSUjExbDxn" crossorigin="anonymous"> + + diff --git a/lmfdb/templates/style.css b/lmfdb/templates/style.css index 6fc1772d9f..6714ab3893 100644 --- a/lmfdb/templates/style.css +++ b/lmfdb/templates/style.css @@ -2630,3 +2630,8 @@ span.raw-tset-container:hover > span.raw-tset-copy-btn { div.upload_section { margin-bottom: 60px; } + +/* hidge google badge */ +.grecaptcha-badge { + visibility: hidden; +}
{{KNOWL('group.name', title='Description:')}} ${{seq.quotient_tex}}$
{{KNOWL('group.order',title='Order:')}} {{info.pos_int_and_factor(seq.quotient_order)}}
{{KNOWL('group.exponent',title='Exponent:')}} +
{{KNOWL('group.order',title='Order:')}} {{info.pos_int_and_factor(seq.quotient_order) | safe}}
{{KNOWL('group.exponent',title='Exponent:')}} {% if seq.quo|attr('exponent') %} - {{info.pos_int_and_factor(seq.quo.exponent)}} + {{info.pos_int_and_factor(seq.quo.exponent) | safe}} {% else %} not computed {% endif %} @@ -169,17 +169,17 @@

Automorphism information

{% endif %}
$\operatorname{res}({{S}})$${{seq.aut_weyl.tex_name}}$, of order {{info.pos_int_and_factor(seq.aut_weyl.order)}}
$\operatorname{res}({{S}})$${{seq.aut_weyl.tex_name}}$, of order {{info.pos_int_and_factor(seq.aut_weyl.order) | safe}}
$\card{\operatorname{res}({{S}})}${{info.pos_int_and_factor(seq.amb.aut_order/seq.aut_weyl_index)}}
$\card{\operatorname{res}({{S}})}${{info.pos_int_and_factor(seq.amb.aut_order/seq.aut_weyl_index) | safe}}
$\card{\operatorname{ker}(\operatorname{res})}${{info.pos_int_and_factor(seq.aut_centralizer_order)}}
$\card{\operatorname{ker}(\operatorname{res})}${{info.pos_int_and_factor(seq.aut_centralizer_order) | safe}}
$W$${{seq.weyl.tex_name}}$, of order {{info.pos_int_and_factor(seq.weyl.order)}}
$W$${{seq.weyl.tex_name}}$, of order {{info.pos_int_and_factor(seq.weyl.order) | safe}}
$\card{W}${{info.pos_int_and_factor(seq.normalizer_.subgroup_order / seq.centralizer_.subgroup_order)}}
$\card{W}${{info.pos_int_and_factor(seq.normalizer_.subgroup_order / seq.centralizer_.subgroup_order) | safe}}
$\card{W}$ not computed