Skip to content

Commit 917060c

Browse files
committed
Use data search path as default for databases.
This way databases can be found in several locations, reducing the need for sage_conf.
1 parent 6547ad5 commit 917060c

File tree

2 files changed

+19
-11
lines changed

2 files changed

+19
-11
lines changed

src/sage/env.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -203,13 +203,14 @@ def var(key: str, *fallbacks: Optional[str], force: bool = False) -> Optional[st
203203
SAGE_SHARE,
204204
])))
205205

206-
# installation directories for various packages
207-
GRAPHS_DATA_DIR = var("GRAPHS_DATA_DIR", join(SAGE_SHARE, "graphs"))
208-
ELLCURVE_DATA_DIR = var("ELLCURVE_DATA_DIR", join(SAGE_SHARE, "ellcurves"))
209-
POLYTOPE_DATA_DIR = var("POLYTOPE_DATA_DIR", join(SAGE_SHARE, "reflexive_polytopes"))
206+
# database directories, the default is to search in SAGE_DATA_PATH
207+
CREMONA_LARGE_DATA_DIR = var("CREMONA_LARGE_DATA_DIR")
208+
CREMONA_MINI_DATA_DIR = var("CREMONA_MINI_DATA_DIR")
209+
ELLCURVE_DATA_DIR = var("ELLCURVE_DATA_DIR")
210+
GRAPHS_DATA_DIR = var("GRAPHS_DATA_DIR")
211+
POLYTOPE_DATA_DIR = var("POLYTOPE_DATA_DIR")
210212

211-
CREMONA_MINI_DATA_DIR = var("CREMONA_MINI_DATA_DIR", join(SAGE_SHARE, "cremona"))
212-
CREMONA_LARGE_DATA_DIR = var("CREMONA_LARGE_DATA_DIR", join(SAGE_SHARE, "cremona"))
213+
# installation directories for various packages
213214
JMOL_DIR = var("JMOL_DIR", join(SAGE_SHARE, "jmol"))
214215
MATHJAX_DIR = var("MATHJAX_DIR", join(SAGE_SHARE, "mathjax"))
215216
MTXLIB = var("MTXLIB", join(SAGE_SHARE, "meataxe"))

src/sage/features/databases.py

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ def __init__(self, name="cremona"):
6868
from sage.env import CREMONA_MINI_DATA_DIR, CREMONA_LARGE_DATA_DIR
6969
CREMONA_DATA_DIRS = set([CREMONA_MINI_DATA_DIR, CREMONA_LARGE_DATA_DIR])
7070
CREMONA_DATA_DIRS.discard(None)
71+
search_path = CREMONA_DATA_DIRS or sage_data_path("cremona")
7172

7273
spkg = "database_cremona_ellcurve"
7374
spkg_type = "optional"
@@ -77,7 +78,7 @@ def __init__(self, name="cremona"):
7778

7879
StaticFile.__init__(self, f"database_{name}_ellcurve",
7980
filename=f"{name}.db",
80-
search_path=CREMONA_DATA_DIRS,
81+
search_path=search_path,
8182
spkg=spkg,
8283
type=spkg_type,
8384
url="https://github.com/JohnCremona/ecdata",
@@ -104,9 +105,11 @@ def __init__(self):
104105
True
105106
"""
106107
from sage.env import ELLCURVE_DATA_DIR
108+
search_path = ELLCURVE_DATA_DIR or sage_data_path("ellcurves")
109+
107110
StaticFile.__init__(self, "database_ellcurves",
108111
filename='rank0',
109-
search_path=ELLCURVE_DATA_DIR,
112+
search_path=search_path,
110113
spkg="elliptic_curves",
111114
type="standard",
112115
description="William Stein's database of interesting curve")
@@ -132,9 +135,11 @@ def __init__(self):
132135
True
133136
"""
134137
from sage.env import GRAPHS_DATA_DIR
138+
search_path = GRAPHS_DATA_DIR or sage_data_path("graphs")
139+
135140
StaticFile.__init__(self, "database_graphs",
136141
filename='graphs.db',
137-
search_path=GRAPHS_DATA_DIR,
142+
search_path=search_path,
138143
spkg="graphs",
139144
type="standard",
140145
description="A database of graphs")
@@ -160,7 +165,8 @@ def __init__(self):
160165
True
161166
"""
162167
StaticFile.__init__(self, "database_jones_numfield",
163-
filename='jones/jones.sobj',
168+
filename='jones.sobj',
169+
search_path=sage_data_path("jones"),
164170
spkg="database_jones_numfield",
165171
description="John Jones's tables of number fields")
166172

@@ -244,14 +250,15 @@ def __init__(self, name='polytopes_db'):
244250
'Hodge4d'
245251
"""
246252
from sage.env import POLYTOPE_DATA_DIR
253+
search_path = POLYTOPE_DATA_DIR or sage_data_path("reflexive_polytopes")
247254

248255
dirname = "Full3d"
249256
if name == "polytopes_db_4d":
250257
dirname = "Hodge4d"
251258

252259
StaticFile.__init__(self, name,
253260
filename=dirname,
254-
search_path=POLYTOPE_DATA_DIR)
261+
search_path=search_path)
255262

256263

257264
def all_features():

0 commit comments

Comments
 (0)