diff --git a/lmfdb/verify/__init__.py b/lmfdb/verify/__init__.py index 0bb4ca9031..62b6c0e0c3 100644 --- a/lmfdb/verify/__init__.py +++ b/lmfdb/verify/__init__.py @@ -13,11 +13,17 @@ _curdir = os.path.dirname(os.path.abspath(__file__)) _prefix = 'lmfdb.verify.' -for tablename in database.db.tablenames: - filename = os.path.join(_curdir, tablename + '.py') - if os.path.exists(filename): - verifier = getattr(importlib.import_module(_prefix + tablename), tablename) - database.db[tablename]._verifier = verifier() + +for dirpath, dirs, filenames in os.walk(_curdir): + filenames = [f for f in filenames if f[0] != '_'] + filenames = [f for f in filenames if os.path.splitext(f)[-1] == '.py'] # this filters out any table names that end up in log files + dirs[:] = [d for d in dirs if d[0] != '_'] + for f in filenames: + tablename = os.path.splitext(f)[0] + if tablename in database.db.tablenames: + other_thing = os.path.basename(os.path.normpath(dirpath)) + '.' + verifier = getattr(importlib.import_module(_prefix + other_thing + tablename), tablename) + database.db[tablename]._verifier = verifier() database.db.is_verifying = True db = database.db __all__ = ['db'] diff --git a/lmfdb/verify/gps_gl2zhat_fine.py b/lmfdb/verify/gps/gps_gl2zhat_fine.py similarity index 94% rename from lmfdb/verify/gps_gl2zhat_fine.py rename to lmfdb/verify/gps/gps_gl2zhat_fine.py index 73b1eeeb0b..1fe775bd6b 100644 --- a/lmfdb/verify/gps_gl2zhat_fine.py +++ b/lmfdb/verify/gps/gps_gl2zhat_fine.py @@ -1,6 +1,6 @@ from lmfdb.lmfdb_database import db -from .verification import TableChecker, overall +from ..verification import TableChecker, overall class gps_gl2zhat_fine(TableChecker): table = db.gps_gl2zhat_fine diff --git a/lmfdb/verify/mf.py b/lmfdb/verify/mf/mf.py similarity index 99% rename from lmfdb/verify/mf.py rename to lmfdb/verify/mf/mf.py index 436988b65a..0c9c706408 100644 --- a/lmfdb/verify/mf.py +++ b/lmfdb/verify/mf/mf.py @@ -4,7 +4,7 @@ from sage.all import cached_function, psi, RR, Integer, prod from psycopg2.sql import SQL, Identifier -from .verification import TableChecker, overall +from ..verification import TableChecker, overall @cached_function diff --git a/lmfdb/verify/mf_gamma1.py b/lmfdb/verify/mf/mf_gamma1.py similarity index 99% rename from lmfdb/verify/mf_gamma1.py rename to lmfdb/verify/mf/mf_gamma1.py index 9bf173d2c2..5d807e2d8b 100644 --- a/lmfdb/verify/mf_gamma1.py +++ b/lmfdb/verify/mf/mf_gamma1.py @@ -5,7 +5,7 @@ from lmfdb.lmfdb_database import db, SQL from .mf import MfChecker, check_analytic_conductor -from .verification import overall, slow, fast, accumulate_failures +from ..verification import overall, slow, fast, accumulate_failures @cached_function def sturm_bound1(level, weight): diff --git a/lmfdb/verify/mf_gamma1_portraits.py b/lmfdb/verify/mf/mf_gamma1_portraits.py similarity index 100% rename from lmfdb/verify/mf_gamma1_portraits.py rename to lmfdb/verify/mf/mf_gamma1_portraits.py diff --git a/lmfdb/verify/mf_gamma1_subspaces.py b/lmfdb/verify/mf/mf_gamma1_subspaces.py similarity index 92% rename from lmfdb/verify/mf_gamma1_subspaces.py rename to lmfdb/verify/mf/mf_gamma1_subspaces.py index 0446544574..94558bf2eb 100644 --- a/lmfdb/verify/mf_gamma1_subspaces.py +++ b/lmfdb/verify/mf/mf_gamma1_subspaces.py @@ -1,7 +1,7 @@ from lmfdb import db from .mf import SubspacesChecker -from .verification import overall +from ..verification import overall class mf_gamma1_subspaces(SubspacesChecker): table = db.mf_gamma1_subspaces diff --git a/lmfdb/verify/mf_hecke_cc.py b/lmfdb/verify/mf/mf_hecke_cc.py similarity index 99% rename from lmfdb/verify/mf_hecke_cc.py rename to lmfdb/verify/mf/mf_hecke_cc.py index 3f9757f323..2e12a11660 100644 --- a/lmfdb/verify/mf_hecke_cc.py +++ b/lmfdb/verify/mf/mf_hecke_cc.py @@ -6,7 +6,7 @@ from lmfdb.backend.utils import IdentifierWrapper as Identifier from psycopg2.sql import SQL, Literal from .mf import MfChecker -from .verification import overall, overall_long, slow +from ..verification import overall, overall_long, slow class mf_hecke_cc(MfChecker): table = db.mf_hecke_cc diff --git a/lmfdb/verify/mf_hecke_lpolys.py b/lmfdb/verify/mf/mf_hecke_lpolys.py similarity index 96% rename from lmfdb/verify/mf_hecke_lpolys.py rename to lmfdb/verify/mf/mf_hecke_lpolys.py index b8ccafe9a0..2e336d084d 100644 --- a/lmfdb/verify/mf_hecke_lpolys.py +++ b/lmfdb/verify/mf/mf_hecke_lpolys.py @@ -3,7 +3,7 @@ from lmfdb.lmfdb_database import db, SQL from .mf import MfChecker -from .verification import overall, overall_long, accumulate_failures +from ..verification import overall, overall_long, accumulate_failures class mf_hecke_lpolys(MfChecker): table = db.mf_hecke_lpolys diff --git a/lmfdb/verify/mf_hecke_newspace_traces.py b/lmfdb/verify/mf/mf_hecke_newspace_traces.py similarity index 100% rename from lmfdb/verify/mf_hecke_newspace_traces.py rename to lmfdb/verify/mf/mf_hecke_newspace_traces.py diff --git a/lmfdb/verify/mf_hecke_nf.py b/lmfdb/verify/mf/mf_hecke_nf.py similarity index 99% rename from lmfdb/verify/mf_hecke_nf.py rename to lmfdb/verify/mf/mf_hecke_nf.py index 4f1dbf7b63..2e56004d17 100644 --- a/lmfdb/verify/mf_hecke_nf.py +++ b/lmfdb/verify/mf/mf_hecke_nf.py @@ -3,7 +3,7 @@ from lmfdb.lmfdb_database import db, SQL from .mf import MfChecker -from .verification import overall, slow, integer_types +from ..verification import overall, slow, integer_types class mf_hecke_nf(MfChecker): table = db.mf_hecke_nf diff --git a/lmfdb/verify/mf_hecke_traces.py b/lmfdb/verify/mf/mf_hecke_traces.py similarity index 100% rename from lmfdb/verify/mf_hecke_traces.py rename to lmfdb/verify/mf/mf_hecke_traces.py diff --git a/lmfdb/verify/mf_newform_portraits.py b/lmfdb/verify/mf/mf_newform_portraits.py similarity index 100% rename from lmfdb/verify/mf_newform_portraits.py rename to lmfdb/verify/mf/mf_newform_portraits.py diff --git a/lmfdb/verify/mf_newforms.py b/lmfdb/verify/mf/mf_newforms.py similarity index 99% rename from lmfdb/verify/mf_newforms.py rename to lmfdb/verify/mf/mf_newforms.py index 85fb008c33..dc208139ad 100644 --- a/lmfdb/verify/mf_newforms.py +++ b/lmfdb/verify/mf/mf_newforms.py @@ -6,7 +6,7 @@ from psycopg2.sql import SQL, Literal from lmfdb.utils import names_and_urls from .mf import MfChecker -from .verification import overall, overall_long, slow, fast, accumulate_failures +from ..verification import overall, overall_long, slow, fast, accumulate_failures CCC = ComplexField(200) diff --git a/lmfdb/verify/mf_newspace_portraits.py b/lmfdb/verify/mf/mf_newspace_portraits.py similarity index 100% rename from lmfdb/verify/mf_newspace_portraits.py rename to lmfdb/verify/mf/mf_newspace_portraits.py diff --git a/lmfdb/verify/mf_newspaces.py b/lmfdb/verify/mf/mf_newspaces.py similarity index 99% rename from lmfdb/verify/mf_newspaces.py rename to lmfdb/verify/mf/mf_newspaces.py index 9cc61f60f6..db28feeafa 100644 --- a/lmfdb/verify/mf_newspaces.py +++ b/lmfdb/verify/mf/mf_newspaces.py @@ -6,7 +6,7 @@ from lmfdb.lmfdb_database import db, SQL from .mf import MfChecker, check_analytic_conductor -from .verification import overall, overall_long, fast, slow, accumulate_failures +from ..verification import overall, overall_long, fast, slow, accumulate_failures @cached_function diff --git a/lmfdb/verify/mf_subspaces.py b/lmfdb/verify/mf/mf_subspaces.py similarity index 97% rename from lmfdb/verify/mf_subspaces.py rename to lmfdb/verify/mf/mf_subspaces.py index e088d7f601..92a0f7b078 100644 --- a/lmfdb/verify/mf_subspaces.py +++ b/lmfdb/verify/mf/mf_subspaces.py @@ -1,7 +1,7 @@ from lmfdb import db from .mf import SubspacesChecker -from .verification import overall +from ..verification import overall class mf_subspaces(SubspacesChecker): table = db.mf_subspaces diff --git a/lmfdb/verify/verify_tables.py b/lmfdb/verify/verify_tables.py index b453ba415c..0a54b18bed 100755 --- a/lmfdb/verify/verify_tables.py +++ b/lmfdb/verify/verify_tables.py @@ -27,7 +27,14 @@ def directory(path): def find_validated_tables(): curdir = os.path.dirname(os.path.abspath(__file__)) - return [tablename for tablename in db.tablenames if os.path.exists(os.path.join(curdir, tablename + '.py'))] + validated_tables = [] + + for _, _, filenames in os.walk(curdir): + for f in filenames: + root_name = os.path.splitext(f)[0] + if root_name in db.tablenames: + validated_tables.append(root_name) + return validated_tables if __name__ == '__main__': validated_tables = find_validated_tables()