Skip to content
This repository was archived by the owner on Jun 7, 2023. It is now read-only.

Commit 50f28f5

Browse files
committed
Fix: Do not import pavement
1 parent a241fd7 commit 50f28f5

File tree

2 files changed

+7
-10
lines changed

2 files changed

+7
-10
lines changed

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ license = "GPL"
3434
name = "runestone"
3535
readme = "README.rst"
3636
repository = "https://github.com/RunestoneInteractive/RunestoneComponents"
37-
version = "6.3.8"
37+
version = "6.3.9"
3838

3939
# See https://python-poetry.org/docs/pyproject/#include-and-exclude.
4040
include = [

runestone/server/utils.py

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -41,13 +41,10 @@ def _build_runestone_book(course, click=click):
4141
"""
4242
try:
4343
if os.path.exists("pavement.py"):
44-
sys.path.insert(0, os.getcwd())
4544
# Since this may be used in a long running process (see AuthorServer/worker)
46-
# we need to re-import to get the right values
47-
if "pavement" in globals():
48-
importlib.reload(pavement)
49-
else:
50-
import pavement
45+
# using import is a bad idea, exec can be dangerous as well
46+
paver_vars = {}
47+
exec(open("pavement.py").read(), paver_vars)
5148
else:
5249
click.echo(
5350
"I can't find a pavement.py file in {} you need that to build".format(
@@ -60,10 +57,10 @@ def _build_runestone_book(course, click=click):
6057
print(e)
6158
return False
6259

63-
if pavement.project_name != course:
60+
if paver_vars["project_name"] != course:
6461
click.echo(
6562
"Error: {} and {} do not match. Your course name needs to match the project_name in pavement.py".format(
66-
course, pavement.project_name
63+
course, paver_vars["project_name"]
6764
)
6865
)
6966
return False
@@ -80,7 +77,7 @@ def _build_runestone_book(course, click=click):
8077
)
8178
return False
8279
click.echo("Build succeedeed... Now deploying to published")
83-
if pavement.dest != "./published":
80+
if paver_vars["dest"] != "./published":
8481
click.echo(
8582
"Incorrect deployment directory. dest should be ./published in pavement.py"
8683
)

0 commit comments

Comments
 (0)