55import os
66import random
77import subprocess
8- import json
98import requests
109import flask_migrate
1110from flask import Flask , render_template , request , jsonify , redirect
1211from flask_pyoidc .provider_configuration import *
1312from flask_pyoidc .flask_pyoidc import OIDCAuthentication
1413from flask_sqlalchemy import SQLAlchemy
1514from werkzeug .utils import secure_filename
16- from csh_ldap import CSHLDAP
1715
1816from audiophiler .s3 import *
1917
2624else :
2725 app .config .from_pyfile (os .path .join (os .getcwd (), "config.env.py" ))
2826
29- git_cmd = ['git' , 'rev-parse' , '--short' , 'HEAD' ]
30- app .config ["GIT_REVISION" ] = subprocess .check_output (git_cmd ).decode ('utf-8' ).rstrip ()
31-
3227_config = ProviderConfiguration (
3328 app .config ['OIDC_ISSUER' ],
3429 client_metadata = ClientMetadata (
5045from audiophiler .models import File , Harold , Auth , Tour
5146from audiophiler .util import *
5247
53- # Create CSHLDAP connection
54- ldap = CSHLDAP (app .config ["LDAP_BIND_DN" ],
55- app .config ["LDAP_BIND_PW" ])
56-
57- # Import ldap functions after creating ldap conn
58- from audiophiler .ldap import ldap_is_eboard , ldap_is_rtp
5948
6049# Disable SSL certificate verification warning
6150requests .packages .urllib3 .disable_warnings ()
@@ -80,12 +69,10 @@ def home(auth_dict=None):
8069 db_files = db_files .paginate (page = page , per_page = page_size ).items
8170 harolds = get_harold_list (auth_dict ["uid" ])
8271 tour_harolds = get_harold_list ("root" )
83- is_rtp = ldap_is_rtp (auth_dict ["uid" ])
84- is_eboard = ldap_is_eboard (auth_dict ["uid" ])
8572 return render_template ("main.html" , db_files = db_files ,
8673 get_date_modified = get_date_modified , s3_bucket = s3_bucket ,
8774 auth_dict = auth_dict , harolds = harolds , tour_harolds = tour_harolds ,
88- is_rtp = is_rtp , is_eboard = is_eboard , is_tour_page = False , route = "" , page = page )
75+ is_rtp = auth_dict [ " is_rtp" ] , is_eboard = auth_dict [ " is_eboard" ] , is_tour_page = False , route = "" , page = page )
8976
9077@app .route ("/mine" )
9178@auth .oidc_auth ('default' )
@@ -100,15 +87,13 @@ def mine(auth_dict=None):
10087 if name :
10188 db_files = db_files .filter (File .name .like (f"%{ name } %" ))
10289 db_files = db_files .paginate (page = page , per_page = page_size ).items
103- is_rtp = ldap_is_rtp (auth_dict ["uid" ])
104- is_eboard = ldap_is_eboard (auth_dict ["uid" ])
10590 # Retrieve list of files for templating
10691 harolds = get_harold_list (auth_dict ["uid" ])
10792 tour_harolds = get_harold_list ("root" )
10893 return render_template ("main.html" , db_files = db_files ,
10994 get_file_s3 = get_file_s3 , get_date_modified = get_date_modified ,
11095 s3_bucket = s3_bucket , auth_dict = auth_dict , harolds = harolds ,
111- tour_harolds = tour_harolds , is_rtp = is_rtp , is_eboard = is_eboard ,
96+ tour_harolds = tour_harolds , is_rtp = auth_dict [ " is_rtp" ] , is_eboard = auth_dict [ " is_eboard" ] ,
11297 is_tour_page = False , route = "mine" , page = page )
11398
11499@app .route ("/selected" )
@@ -120,9 +105,6 @@ def selected(auth_dict=None):
120105 name = args .get ("name" , default = None , type = str )
121106 author = args .get ("author" , default = None , type = str )
122107 page_size = args .get ("size" ,default = default_size , type = int )
123- # Retrieve list of files for templating
124- is_rtp = ldap_is_rtp (auth_dict ["uid" ])
125- is_eboard = ldap_is_eboard (auth_dict ["uid" ])
126108 #Retrieve list of files for templating
127109 harolds = get_harold_list (auth_dict ["uid" ])
128110 tour_harolds = get_harold_list ("root" )
@@ -135,7 +117,7 @@ def selected(auth_dict=None):
135117 return render_template ("main.html" , db_files = db_files ,
136118 get_date_modified = get_date_modified , s3_bucket = s3_bucket ,
137119 auth_dict = auth_dict , harolds = harolds , tour_harolds = tour_harolds ,
138- is_rtp = is_rtp , is_eboard = is_eboard , is_tour_page = False ,
120+ is_rtp = auth_dict [ " is_rtp" ] , is_eboard = auth_dict [ " is_eboard" ] , is_tour_page = False ,
139121 route = "selected" , page = page )
140122
141123@app .route ("/tour_page" )
@@ -147,9 +129,7 @@ def admin(auth_dict=None):
147129 name = args .get ("name" , default = None , type = str )
148130 author = args .get ("author" , default = None , type = str )
149131 page_size = args .get ("size" ,default = default_size , type = int )
150- is_rtp = ldap_is_rtp (auth_dict ["uid" ])
151- is_eboard = ldap_is_eboard (auth_dict ["uid" ])
152- if is_eboard or is_rtp :
132+ if auth_dict ["is_rtp" ] or auth_dict ["is_eboard" ]:
153133 harolds = get_harold_list (auth_dict ["uid" ])
154134 tour_harolds = get_harold_list ("root" )
155135 db_files = File .query .filter (File .file_hash .in_ (tour_harolds ))
@@ -161,7 +141,7 @@ def admin(auth_dict=None):
161141 return render_template ("main.html" , db_files = db_files ,
162142 get_date_modified = get_date_modified , s3_bucket = s3_bucket ,
163143 auth_dict = auth_dict , harolds = harolds , tour_harolds = tour_harolds ,
164- is_rtp = is_rtp , is_eboard = is_eboard , is_tour_page = True ,
144+ is_rtp = auth_dict [ " is_rtp" ] , is_eboard = auth_dict [ " is_eboard" ] , is_tour_page = True ,
165145 is_tour_mode = get_tour_lock_status (), route = "tour_page" ,
166146 page = page )
167147
@@ -171,9 +151,8 @@ def admin(auth_dict=None):
171151@auth .oidc_auth ('default' )
172152@audiophiler_auth
173153def upload_page (auth_dict = None ):
174- is_rtp = ldap_is_rtp (auth_dict ["uid" ])
175- is_eboard = ldap_is_eboard (auth_dict ["uid" ])
176- return render_template ("upload.html" , is_rtp = is_rtp , is_eboard = is_eboard , auth_dict = auth_dict )
154+ return render_template ("upload.html" , is_rtp = auth_dict ["is_rtp" ],
155+ is_eboard = auth_dict ["is_eboard" ], auth_dict = auth_dict )
177156
178157@app .route ("/upload" , methods = ["POST" ])
179158@auth .oidc_auth ('default' )
@@ -233,7 +212,7 @@ def delete_file(file_hash, auth_dict=None):
233212 return "File Not Found" , 404
234213
235214 if not auth_dict ["uid" ] == file_model .author :
236- if not ( ldap_is_eboard ( auth_dict ["uid" ]) or ldap_is_rtp ( auth_dict ["uid" ])) :
215+ if not auth_dict ["is_rtp" ] or auth_dict ["is_eboard" ] :
237216 return "Permission Denied" , 403
238217
239218 # Delete file model
@@ -259,10 +238,8 @@ def get_s3_url(file_hash, auth_dict=None):
259238@audiophiler_auth
260239def set_harold (file_hash , auth_dict = None ):
261240 is_tour = request .json ["tour" ]
262- is_rtp = ldap_is_rtp (auth_dict ["uid" ])
263- is_eboard = ldap_is_eboard (auth_dict ["uid" ])
264241 if is_tour == "true" :
265- if ( is_rtp or is_eboard ) :
242+ if auth_dict [ " is_rtp" ] or auth_dict [ " is_eboard" ] :
266243 uid = "root"
267244 else :
268245 return "Not Authorized" , 403
@@ -280,10 +257,8 @@ def set_harold(file_hash, auth_dict=None):
280257@audiophiler_auth
281258def remove_harold (file_hash , auth_dict = None ):
282259 is_tour = request .json ["tour" ]
283- is_rtp = ldap_is_rtp (auth_dict ["uid" ])
284- is_eboard = ldap_is_eboard (auth_dict ["uid" ])
285260 if is_tour == "true" :
286- if is_rtp or is_eboard :
261+ if auth_dict [ " is_rtp" ] or auth_dict [ " is_eboard" ] :
287262 uid = "root"
288263 else :
289264 return "Not Authorized" , 403
@@ -328,9 +303,7 @@ def get_harold(uid, auth_dict=None):
328303@auth .oidc_auth ('default' )
329304@audiophiler_auth
330305def toggle_tour_mode (auth_dict = None ):
331- is_rtp = ldap_is_rtp (auth_dict ["uid" ])
332- is_eboard = ldap_is_eboard (auth_dict ["uid" ])
333- if is_rtp or is_eboard :
306+ if auth_dict ["is_rtp" ] or auth_dict ["is_eboard" ]:
334307 admin_query = Tour .query .first ()
335308 if request .json ["state" ] == "t" :
336309 admin_query .tour_lock = True
0 commit comments