1111
1212from tools .utils import redirect
1313from lightdb import LightDB
14+
15+ # Blueprints
1416from tools .geo_loc import geo_loc_bp
1517from tools .auth import auth_bp
18+ from tools .index import index_bp
19+
1620from tools .db_auth import is_admin_user
1721
1822from werkzeug .exceptions import RequestEntityTooLarge
3236app .config ['MAX_CONTENT_LENGTH' ] = 1000000 * 1024 * 1024
3337app .config ['SECRET_KEY' ] = str (random .randint (99999 , 9999999 ))
3438app .wsgi_app = ProxyFix (app .wsgi_app , x_for = 1 )
39+
3540app .register_blueprint (geo_loc_bp )
3641app .register_blueprint (auth_bp )
42+ app .register_blueprint (index_bp )
3743
3844@app .route ('/' )
3945def index ():
40- # return redirect(url_for('upload'))
46+ # return redirect(url_for('index. upload'))
4147 return render_template ('index.html' )
4248
4349@app .route ('/dashboard' )
@@ -47,7 +53,7 @@ def dashboard():
4753
4854 if session .get ('loggedIn' , False ) == False :
4955 flash ('You must be signed in to view the dashboard!' , 'error' )
50- return redirect (url_for ('upload' ))
56+ return redirect (url_for ('index. upload' ))
5157
5258 username = session .get ('username' )
5359 userfiles = []
@@ -57,7 +63,7 @@ def dashboard():
5763 flash ('An error occurred. Please sign in again.' , 'error' )
5864 session ['loggedIn' ] = False
5965 session .pop ('username' , None )
60- return redirect (url_for ('upload' ))
66+ return redirect (url_for ('index. upload' ))
6167
6268 for file in db :
6369 if db [file ].get ('owner' ) == username :
@@ -82,81 +88,6 @@ def dashboard():
8288 quota_usage = quota_usage_gb ,
8389 is_admin = is_admin_user (username )
8490 )
85-
86- @app .route ('/upload' )
87- def upload ():
88- db = l_db ['files' ]
89- udb = l_db ['users' ]
90- loggedIn = session .get ('loggedIn' , False )
91- username = session .get ('username' , '' )
92- quota_gb = None
93- quota_usage_gb = 0.0
94- try :
95- if loggedIn and username :
96- user_rec = None
97- for u in udb :
98- if u .get ('username' ) == username :
99- user_rec = u
100- break
101- if user_rec :
102- quota_gb = user_rec .get ('quota_gb' , 0 )
103- else :
104- quota_gb = 0
105- userfiles = []
106- for file in db :
107- if db [file ].get ('owner' ) == username :
108- userfiles .append (db [file ])
109- for userfile in userfiles :
110- usf_mb = userfile .get ('size_megabytes' , 0 )
111- if usf_mb :
112- quota_usage_gb += usf_mb / 1024
113- quota_usage_gb = round (quota_usage_gb , 1 )
114- else :
115- quota_gb = 5.0
116- quota_usage_gb = 0.0
117- except Exception :
118- quota_gb = quota_gb or 0
119- quota_usage_gb = quota_usage_gb or 0.0
120-
121- return render_template ('upload.html' , loggedIn = loggedIn , username = username , quota_gb = quota_gb , quota_usage = quota_usage_gb )
122-
123- @app .route ('/upload_kr' )
124- def upload_kr ():
125- db = l_db ['files' ]
126- udb = l_db ['users' ]
127- loggedIn = session .get ('loggedIn' , False )
128- username = session .get ('username' , '' )
129- quota_gb = None
130- quota_usage_gb = 0.0
131- try :
132- if loggedIn and username :
133- user_rec = None
134- for u in udb :
135- if u .get ('username' ) == username :
136- user_rec = u
137- break
138- if user_rec :
139- quota_gb = user_rec .get ('quota_gb' , 0 )
140- else :
141- quota_gb = 0
142- userfiles = []
143- for file in db :
144- if db [file ].get ('owner' ) == username :
145- userfiles .append (db [file ])
146- for userfile in userfiles :
147- usf_mb = userfile .get ('size_megabytes' , 0 )
148- if usf_mb :
149- quota_usage_gb += usf_mb / 1024
150- quota_usage_gb = round (quota_usage_gb , 1 )
151- else :
152- quota_gb = 5.0
153- quota_usage_gb = 0.0
154- except Exception :
155- quota_gb = quota_gb or 0
156- quota_usage_gb = quota_usage_gb or 0.0
157-
158- return render_template ('upload_kr.html' , loggedIn = loggedIn , username = username , quota_gb = quota_gb , quota_usage = quota_usage_gb )
159-
16091@app .route ('/sendfile' , methods = ['POST' ])
16192def sendfile ():
16293 db = l_db ['files' ]
@@ -226,7 +157,7 @@ def sendfile():
226157 else :
227158 flash ('1-Time Download code: ' + fileid , 'info' )
228159
229- return redirect (url_for ('upload' ))
160+ return redirect (url_for ('index. upload' ))
230161
231162 except RequestEntityTooLarge :
232163 return 'File is larger than the size limit.'
@@ -239,7 +170,7 @@ def delete(code):
239170 if file .split ('_' )[- 1 ] == code :
240171 if db [file ].get ('owner' ) != session .get ('username' ):
241172 flash ('You do not own this file and cannot delete it.' , 'error' )
242- return redirect (url_for ('upload' ))
173+ return redirect (url_for ('index. upload' ))
243174 try :
244175 os .remove ('uploads/' + file )
245176 except FileNotFoundError :
@@ -255,7 +186,7 @@ def delete(code):
255186@app .route ('/download' )
256187def download_without_code ():
257188 flash ('No code provided!' , 'error' )
258- return redirect (url_for ('upload' ))
189+ return redirect (url_for ('index. upload' ))
259190
260191@app .route ('/download/<code>' , methods = ['GET' , 'POST' ])
261192def download (code ):
@@ -281,7 +212,7 @@ def download(code):
281212 print (f"Deleted! DB now has { len (db )} files" )
282213 break
283214 flash ('Invalid code! Check if you typed the correct code, and for one-time codes, make sure nobody else entered the code before you did.' , 'error' )
284- return redirect (url_for ('upload' ))
215+ return redirect (url_for ('index. upload' ))
285216 else :
286217 # Get original filename from database if it exists
287218 original_filename = db [filename ].get ('original_filename' , filename .replace (f'_{ code } ' , '' ))
@@ -307,18 +238,18 @@ def backRename():
307238 import traceback
308239 traceback .print_exc ()
309240 flash ('Invalid code! Check if you typed the correct code, and for one-time codes, make sure nobody else entered the code before you did.' , 'error' )
310- return redirect (url_for ('upload' ))
241+ return redirect (url_for ('index. upload' ))
311242
312243@app .route ('/admin' )
313244def admin ():
314245 if not session .get ('loggedIn' , False ):
315246 flash ('You must be signed in to access the admin panel!' , 'error' )
316- return redirect (url_for ('upload' ))
247+ return redirect (url_for ('index. upload' ))
317248
318249 username = session .get ('username' )
319250 if not is_admin_user (username ):
320251 flash ('Access denied. Admin privileges required.' , 'error' )
321- return redirect (url_for ('upload' ))
252+ return redirect (url_for ('index. upload' ))
322253
323254 db = l_db ['files' ]
324255 udb = l_db ['users' ]
@@ -366,7 +297,7 @@ def admin():
366297def admin_update_quota ():
367298 if not session .get ('loggedIn' , False ) or not is_admin_user (session .get ('username' )):
368299 flash ('Access denied.' , 'error' )
369- return redirect (url_for ('upload' ))
300+ return redirect (url_for ('index. upload' ))
370301
371302 target = request .form .get ('username' )
372303 try :
@@ -392,7 +323,7 @@ def admin_update_quota():
392323def admin_delete_user ():
393324 if not session .get ('loggedIn' , False ) or not is_admin_user (session .get ('username' )):
394325 flash ('Access denied.' , 'error' )
395- return redirect (url_for ('upload' ))
326+ return redirect (url_for ('index. upload' ))
396327
397328 target = request .form .get ('username' )
398329 if target == session .get ('username' ):
@@ -424,7 +355,7 @@ def admin_delete_user():
424355def admin_toggle_admin ():
425356 if not session .get ('loggedIn' , False ) or not is_admin_user (session .get ('username' )):
426357 flash ('Access denied.' , 'error' )
427- return redirect (url_for ('upload' ))
358+ return redirect (url_for ('index. upload' ))
428359
429360 target = request .form .get ('username' )
430361 if target == session .get ('username' ):
0 commit comments