@@ -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