Fixed access logic
This commit is contained in:
parent
270b83e3db
commit
b994993daf
@ -48,21 +48,24 @@ async def serve_file(request: Request, file_path: str) :
|
|||||||
raw_markup = html = open(os.path.join(base_path, index_file))
|
raw_markup = html = open(os.path.join(base_path, index_file))
|
||||||
soup = BeautifulSoup(raw_markup, 'html.parser')
|
soup = BeautifulSoup(raw_markup, 'html.parser')
|
||||||
for service in soup.find_all("li", class_='service') :
|
for service in soup.find_all("li", class_='service') :
|
||||||
|
shouldremove = false
|
||||||
if 'users' in service.attrs.keys() :
|
if 'users' in service.attrs.keys() :
|
||||||
allowed_users = service['users'].split(',')
|
allowed_users = service['users'].split(',')
|
||||||
if allowed_users != ["Any"] and user_header not in allowed_users :
|
if allowed_users != ["Any"] and user_header not in allowed_users :
|
||||||
service.decompose()
|
shouldremove = true
|
||||||
continue
|
|
||||||
if 'groups' in service.attrs.keys() :
|
if 'groups' in service.attrs.keys() :
|
||||||
allowed_groups = service['groups'].split(',')
|
allowed_groups = service['groups'].split(',')
|
||||||
if list(set(current_groups) & set(allowed_groups)) == [] :
|
if list(set(current_groups) & set(allowed_groups)) == [] :
|
||||||
|
shouldremove = true
|
||||||
|
else :
|
||||||
|
shouldremove = false
|
||||||
|
if shouldremove :
|
||||||
service.decompose()
|
service.decompose()
|
||||||
for category in soup.select('li.category:not(:has(ul li))') :
|
for category in soup.select('li.category:not(:has(ul li))') :
|
||||||
category.decompose()
|
category.decompose()
|
||||||
byte_stream = io.BytesIO(soup.encode('utf-8'))
|
byte_stream = io.BytesIO(soup.encode('utf-8'))
|
||||||
byte_stream.seek(0)
|
byte_stream.seek(0)
|
||||||
return StreamingResponse(byte_stream, media_type="text/html")
|
return StreamingResponse(byte_stream, media_type="text/html")
|
||||||
# return FileResponse(byte_stream, media_type="text/html", filename="index.html")
|
|
||||||
if file_to_serve.is_dir():
|
if file_to_serve.is_dir():
|
||||||
raise HTTPException(status_code=404, detail="Not Found")
|
raise HTTPException(status_code=404, detail="Not Found")
|
||||||
elif file_to_serve.is_file():
|
elif file_to_serve.is_file():
|
||||||
|
Loading…
Reference in New Issue
Block a user