7
7
app = Flask (__name__ )
8
8
CORS (app )
9
9
10
- # Set absolute paths for the data
11
- csv_file_path = '/data/beol.csv' # Absolute path to CSV in Docker
10
+ # Set relative paths for the data
12
11
project = '0801'
13
- data_folder = '/data/0801' # Absolute path to project-specific data directory
12
+ base_dir = os .path .dirname (__file__ )
13
+ csv_file_path = os .path .join (base_dir , '..' , 'data' , 'beol.csv' ) # Relative path to CSV
14
+ data_folder = os .path .join (base_dir , '..' , 'data' , project ) # Relative path to project-specific data directory
14
15
file_generation_enabled = True
15
16
16
17
# Ensure 'data/0801' directory exists
@@ -24,7 +25,7 @@ def index():
24
25
25
26
if request .method == 'POST' and file_generation_enabled :
26
27
manifest_server = request .form ['manifest_server' ]
27
- script_command = f'python /src/ beol-iiif.py --csv "{ csv_file_path } " --manifest_server "{ manifest_server } "'
28
+ script_command = f'python { os . path . join ( base_dir , " beol-iiif.py" ) } --csv "{ csv_file_path } " --manifest_server "{ manifest_server } "'
28
29
29
30
# Execute the script and capture output
30
31
result = subprocess .run (script_command , shell = True , capture_output = True , text = True )
@@ -65,16 +66,19 @@ def toggle_generation():
65
66
66
67
@app .route ('/amend-json' , methods = ['POST' ])
67
68
def amend_json ():
68
- script_command = 'python /src/ replace-sipi-url.py'
69
+ script_command = f 'python { os . path . join ( base_dir , " replace-sipi-url.py" ) } '
69
70
subprocess .run (script_command , shell = True )
70
71
return redirect (url_for ('index' ))
71
72
72
73
@app .route (f'/data/{ project } /<path:filename>' )
73
74
def serve_data (filename ):
74
75
if filename .endswith ('.DS_Store' ):
75
76
return "Access denied" , 403 # Block access to .DS_Store files
76
- return send_from_directory ('/data/0801' , filename )
77
+ return send_from_directory (data_folder , filename )
77
78
78
79
if __name__ == '__main__' :
79
- ssl_context = ('/certs/cert.pem' , '/certs/key.pem' ) # Correct path to SSL certificates
80
+ ssl_context = (
81
+ os .path .join (base_dir , '..' , 'certs' , 'cert.pem' ),
82
+ os .path .join (base_dir , '..' , 'certs' , 'key.pem' )
83
+ ) # Correct path to SSL certificates
80
84
app .run (debug = True , ssl_context = ssl_context , host = '0.0.0.0' , port = 5000 )
0 commit comments