BinaryONe commited on
Commit
c283ccc
·
1 Parent(s): 59e12cf

Miseleneous Fixes

Browse files
FileStream/server/API/__init__.py CHANGED
@@ -24,8 +24,6 @@ async def handle_v2(request):
24
  api = web.Application()
25
 
26
 
27
-
28
-
29
  cors = aiohttp_cors.setup(api, defaults={"*": aiohttp_cors.ResourceOptions(
30
  allow_credentials=False,
31
  expose_headers="*",
@@ -33,8 +31,6 @@ cors = aiohttp_cors.setup(api, defaults={"*": aiohttp_cors.ResourceOptions(
33
  allow_methods="*"
34
  )})
35
 
36
-
37
-
38
  cors.add(api.router.add_get('/', handle_v2))
39
 
40
  #api.router.add_get('/files', list_all_files_db)
 
24
  api = web.Application()
25
 
26
 
 
 
27
  cors = aiohttp_cors.setup(api, defaults={"*": aiohttp_cors.ResourceOptions(
28
  allow_credentials=False,
29
  expose_headers="*",
 
31
  allow_methods="*"
32
  )})
33
 
 
 
34
  cors.add(api.router.add_get('/', handle_v2))
35
 
36
  #api.router.add_get('/files', list_all_files_db)
FileStream/server/APP/render_template.py CHANGED
@@ -1,3 +1,4 @@
 
1
  import jinja2
2
  import aiohttp
3
  import urllib.parse
@@ -8,6 +9,10 @@ from FileStream.Tools.file import humanbytes
8
  db = Database(Telegram.DATABASE_URL, Telegram.SESSION_NAME)
9
 
10
 
 
 
 
 
11
  async def render_page(db_id):
12
  file_data = await db.get_file(db_id)
13
  src = urllib.parse.urljoin(Server.URL, f'api/dl/{file_data["_id"]}')
@@ -15,21 +20,28 @@ async def render_page(db_id):
15
  file_name = file_data['file']['file_name'].replace("_", " ")
16
 
17
  if str((file_data['file']['mime_type']).split('/')[0].strip()) == 'video':
18
- template_file = "FileStream/server/template/play.html"
 
 
 
19
  else:
20
- template_file = "FileStream/server/template/dl.html"
 
 
21
  async with aiohttp.ClientSession() as s:
22
  async with s.get(src) as u:
23
  file_size = humanbytes(int(u.headers.get('Content-Length')))
 
24
  with open(template_file) as f:
25
  template = jinja2.Template(f.read())
26
- return template.render(file_name=file_name,
27
- file_url=src,
28
- file_size=file_size)
29
 
30
 
31
  async def render_upload():
 
32
  template_file = "FileStream/server/template/upload.html"
 
33
  with open(template_file) as f:
34
  template = jinja2.Template(f.read())
35
  return template.render()
 
1
+ import os
2
  import jinja2
3
  import aiohttp
4
  import urllib.parse
 
9
  db = Database(Telegram.DATABASE_URL, Telegram.SESSION_NAME)
10
 
11
 
12
+ # Define the path to the static folder
13
+ static_folder = os.path.join(os.path.dirname(__file__), '..', '..', 'template')
14
+
15
+
16
  async def render_page(db_id):
17
  file_data = await db.get_file(db_id)
18
  src = urllib.parse.urljoin(Server.URL, f'api/dl/{file_data["_id"]}')
 
20
  file_name = file_data['file']['file_name'].replace("_", " ")
21
 
22
  if str((file_data['file']['mime_type']).split('/')[0].strip()) == 'video':
23
+
24
+ template_file = os.path.join(static_folder, "play.html")
25
+ #template_file = "FileStream/server/template/play.html"
26
+
27
  else:
28
+ #template_file = "FileStream/server/template/dl.html"
29
+ template_file = os.path.join(static_folder, "dl.html")
30
+
31
  async with aiohttp.ClientSession() as s:
32
  async with s.get(src) as u:
33
  file_size = humanbytes(int(u.headers.get('Content-Length')))
34
+
35
  with open(template_file) as f:
36
  template = jinja2.Template(f.read())
37
+
38
+ return template.render(file_name=file_name,file_url=src,file_size=file_size)
 
39
 
40
 
41
  async def render_upload():
42
+
43
  template_file = "FileStream/server/template/upload.html"
44
+
45
  with open(template_file) as f:
46
  template = jinja2.Template(f.read())
47
  return template.render()
FileStream/server/__init__.py CHANGED
@@ -18,6 +18,10 @@ from .Middlewares.logging_middleware import logging_middleware
18
  # Set time to consider a client inactive (e.g., 10 minutes)
19
  INACTIVITY_TIMEOUT = 180 # 3 minutes
20
 
 
 
 
 
21
  async def clear_inactive_clients():
22
  """Clear inactive clients from ACTIVE_CLIENTS."""
23
  await asyncio.sleep(INACTIVITY_TIMEOUT) # Check every INACTIVITY_TIMEOUT seconds
@@ -43,5 +47,8 @@ def web_server():
43
  web_app.add_subapp('/app', app)
44
  web_app.add_subapp('/api', api)
45
  web_app.add_subapp('/auth', auth)
46
- # Return the app to be used with AppRunner
 
 
 
47
  return web_app
 
18
  # Set time to consider a client inactive (e.g., 10 minutes)
19
  INACTIVITY_TIMEOUT = 180 # 3 minutes
20
 
21
+ # Define the path to the template (static) folder
22
+ template_folder = os.path.join(os.path.dirname(__file__), 'template')
23
+
24
+
25
  async def clear_inactive_clients():
26
  """Clear inactive clients from ACTIVE_CLIENTS."""
27
  await asyncio.sleep(INACTIVITY_TIMEOUT) # Check every INACTIVITY_TIMEOUT seconds
 
47
  web_app.add_subapp('/app', app)
48
  web_app.add_subapp('/api', api)
49
  web_app.add_subapp('/auth', auth)
50
+
51
+ # Add static file handler
52
+ web_app.router.add_static('/static/', template_folder)
53
+
54
  return web_app