Changed server.
This commit is contained in:
		
							parent
							
								
									821db3cb1a
								
							
						
					
					
						commit
						3623286a9d
					
				| @ -65,6 +65,13 @@ class Application(BaseApplication): | ||||
|         self.setup_router() | ||||
|         self.db.query("PRAGMA journal_mode=WAL") | ||||
|         self.db.query("PRAGMA syncnorm=off") | ||||
|         if not self.db["user"].has_index("username"): | ||||
|             self.db["user"].create_index("username", unique=True) | ||||
|         if not self.db["channel_member"].has_index(["channel_uid","user_uid"]): | ||||
|             self.db["channel_member"].create_index(["channel_uid","user_uid"]) | ||||
|         if not self.db["channel_message"].has_index(["channel_uid","user_uid"]): | ||||
|             self.db["channel_message"].create_index(["channel_uid","user_uid"]) | ||||
|      | ||||
|         self.cache = Cache(self) | ||||
|         self.services = get_services(app=self) | ||||
|         self.mappers = get_mappers(app=self) | ||||
|  | ||||
| @ -111,6 +111,21 @@ a { | ||||
|   height: 200px; | ||||
|   background: #1a1a1a; | ||||
| } | ||||
| .container { | ||||
|   flex: 1; | ||||
|   padding: 10px; | ||||
|   ul { | ||||
|     list-style: none; | ||||
|     margin: 0; | ||||
|     padding: 0; | ||||
|   } | ||||
|   a { | ||||
|         font-size: 20px; | ||||
|         color: #f05a28; | ||||
|       } | ||||
|   | ||||
| } | ||||
| 
 | ||||
| .chat-messages::-webkit-scrollbar { | ||||
|   display: none; | ||||
| } | ||||
|  | ||||
| @ -4,7 +4,7 @@ | ||||
|     "description": "Danger noodle", | ||||
|     "display": "standalone", | ||||
|     "orientation": "portrait", | ||||
|     "scope": "/web.html", | ||||
|     "scope": "/", | ||||
|     "theme_color": "#000000", | ||||
|     "background_color": "#000000", | ||||
|     "related_applications": [], | ||||
|  | ||||
| @ -74,10 +74,6 @@ def set_link_target_blank(text): | ||||
|         element.attrs['rel'] = 'noopener noreferrer' | ||||
|         element.attrs['referrerpolicy'] = 'no-referrer' | ||||
|         element.attrs['href'] = element.attrs['href'].strip(".") | ||||
|         #if element.attrs['href'].startswith("https://www.you") and "?v=" in element.attrs["href"]: | ||||
|         #    video_name = element.attrs["href"].split("?v=")[1].split("&")[0] | ||||
|         #    embed_template = f'<iframe width="560" height="315" src="https://www.youtube.com/embed/{video_name}" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>' | ||||
|         #    element.replace_with(BeautifulSoup(embed_template, 'html.parser')) | ||||
| 
 | ||||
|     return str(soup) | ||||
| 
 | ||||
| @ -93,7 +89,7 @@ def embed_youtube(text): | ||||
| def embed_image(text): | ||||
|     soup = BeautifulSoup(text, 'html.parser')  | ||||
|     for element in soup.find_all("a"):   | ||||
|         for extension in [".png", ".jpeg", ".gif", ".webp", ".svg", ".bmp", ".tiff", ".ico", ".heif"]: | ||||
|         for extension in [".png", ".jpg", ".jpeg", ".gif", ".webp", ".svg", ".bmp", ".tiff", ".ico", ".heif"]: | ||||
|             if extension in element.attrs['href'].lower(): | ||||
|                 embed_template = f'<img src="{element.attrs["href"]}" title="{element.attrs["href"]}" alt="{element.attrs["href"]}" />' | ||||
|                 element.replace_with(BeautifulSoup(embed_template, 'html.parser')) | ||||
|  | ||||
| @ -34,7 +34,7 @@ | ||||
|   <main> | ||||
|     {% block sidebar %} | ||||
|     <aside class="sidebar"> | ||||
|       <h2 class="no-select">Chat Rooms</h2> | ||||
|       <h2 class="no-select">Channels</h2> | ||||
|       <ul> | ||||
|         {% for channel in channels %} | ||||
|         <li><a class="no-select" href="/channel/{{channel['uid']}}.html">{{channel['name']}}</a></li> | ||||
|  | ||||
| @ -5,8 +5,10 @@ | ||||
| {% block main %} | ||||
| 
 | ||||
| <section class="chat-area"> | ||||
|         <div class="chat-header"><h2>Search user</h2></div> | ||||
|         <div class="chat-messages"> | ||||
|     <div class="chat-header"> | ||||
|         <h2>Search user</h2> | ||||
|     </div> | ||||
|     <div class="container"> | ||||
|         <form method="get" action="/search-user.html"> | ||||
|             <input type="text" placeholder="Username" name="query" value="{{query}}" REQUIRED></input> | ||||
|             <fancy-button size="auto" text="Search" url="submit"></fancy-button> | ||||
|  | ||||
| @ -109,6 +109,24 @@ class RPCView(BaseView): | ||||
|             lowercase = query.lower() | ||||
|             if any(keyword in lowercase for keyword in ["drop", "alter", "update", "delete", "replace", "insert", "truncate"]) and 'select' not in lowercase: | ||||
|                 raise Exception("Not allowed") | ||||
|             records = [dict(record) async for record in self.services.channel.query(args[0])] | ||||
|             for record in records: | ||||
|                 try: | ||||
|                     del record['email'] | ||||
|                 except KeyError: | ||||
|                     pass  | ||||
|                 try: | ||||
|                     del record["password"] | ||||
|                 except KeyError: | ||||
|                     pass  | ||||
|                 try: | ||||
|                     del record['message'] | ||||
|                 except: | ||||
|                     pass | ||||
|                 try: | ||||
|                     del record['html'] | ||||
|                 except:  | ||||
|                     pass | ||||
|             return [dict(record) async for record in self.services.channel.query(args[0])] | ||||
| 
 | ||||
|         async def __call__(self, data): | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user