changed font size on chat

This commit is contained in:
Pablo Revilla
2025-03-08 15:34:30 -08:00
parent d696f41d5f
commit b525e57e91
5 changed files with 53 additions and 48 deletions
View File
+1 -1
View File
@@ -2,7 +2,7 @@
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/meshview-2.iml" filepath="$PROJECT_DIR$/.idea/meshview-2.iml" />
<module fileurl="file://$PROJECT_DIR$/.idea/meshview 4.iml" filepath="$PROJECT_DIR$/.idea/meshview 4.iml" />
</modules>
</component>
</project>
+31
View File
@@ -0,0 +1,31 @@
import configparser
import argparse
# Parse command-line arguments
parser = argparse.ArgumentParser(description="MeshView Configuration Loader")
parser.add_argument("--config", type=str, default="config.ini", help="Path to config.ini file (default: config.ini)")
args = parser.parse_args()
# Initialize config parser
config = configparser.ConfigParser()
if not config.read(args.config):
raise FileNotFoundError(f"Config file '{args.config}' not found! Ensure the file exists.")
# MQTT settings
SERVER = config["MQTT"].get("SERVER", "localhost")
TOPICS = config["MQTT"].get("TOPICS", "").split(",") # Convert to list
MQTT_PORT = int(config["MQTT"].get("PORT", 1883))
USERNAME = config["MQTT"].get("USERNAME", "")
PASSWORD = config["MQTT"].get("PASSWORD", "")
# Database settings
CONNECTION_STRING = config["DATABASE"].get("CONNECTION_STRING", "sqlite:///meshview.db")
# Server settings
BIND = config["SERVER"].get("BIND", "0.0.0.0")
WEB_PORT = int(config["SERVER"].get("PORT", 8080))
TLS_CERTS = config["SERVER"].get("TLS_CERTS", "")
ACME_CHALLENGE = config["SERVER"].get("ACME_CHALLENGE", "")
# Website settings
TITLE = config["WEBSITE"].get("TITLE", "MeshView")
+3 -39
View File
@@ -1,48 +1,12 @@
import asyncio
import argparse
import configparser
from meshview import mqtt_reader
from meshview import database
from meshview import mqtt_store
from meshview import web
async def main():
async def load_database_from_mqtt(mqtt_server: str , mqtt_port: int, topic: list, mqtt_user: str | None = None, mqtt_passwd: str | None = None):
async for topic, env in mqtt_reader.get_topic_envelopes(mqtt_server, mqtt_port, topic, mqtt_user, mqtt_passwd):
await mqtt_store.process_envelope(topic, env)
async def main(config):
database.init_database(config["database"]["connection_string"])
#await database.create_tables()
async with asyncio.TaskGroup() as tg:
tg.create_task(
web.run_server(
config["server"]["bind"],
int(config["server"]["port"]),
config["server"].get("tls_cert"),
)
web.run_server()
)
def load_config(file_path):
"""Load configuration from an INI-style text file."""
config_parser = configparser.ConfigParser()
config_parser.read(file_path)
# Convert to a dictionary for easier access
config = {section: dict(config_parser.items(section)) for section in config_parser.sections()}
return config
if __name__ == '__main__':
parser = argparse.ArgumentParser("meshview")
parser.add_argument("--config", help="Path to the configuration file.", default="config.ini")
args = parser.parse_args()
config = load_config(args.config)
asyncio.run(main(config))
asyncio.run(main())
+18 -8
View File
@@ -20,10 +20,14 @@ from meshtastic.protobuf.portnums_pb2 import PortNum
from meshview import store
from meshview import models
from meshview import decode_payload
import gc
from meshview import database
import psutil
import gc
import config
env = Environment(loader=PackageLoader("meshview"), autoescape=select_autoescape())
# Start Database
database.init_database(config.CONNECTION_STRING)
# Optimize garbage collection frequency
gc.set_threshold(100, 10, 10)
@@ -1329,21 +1333,27 @@ async def nodegraph(request):
async def run_server(bind, port, tls_cert):
gc.set_threshold(10, 10, 10)
@routes.get("/config")
async def get_config(request):
return web.json_response({
"Server": config.SERVER,
"Title": config.TITLE
})
async def run_server():
app = web.Application()
app.add_routes(routes)
runner = web.AppRunner(app)
await runner.setup()
if tls_cert:
if config.TLS_CERTS:
ssl_context = ssl.create_default_context(ssl.Purpose.CLIENT_AUTH)
ssl_context.load_cert_chain(tls_cert)
ssl_context.load_cert_chain(config.TLS_CERTS)
else:
ssl_context = None
for host in bind:
site = web.TCPSite(runner, host, port, ssl_context=ssl_context)
for host in config.BIND:
site = web.TCPSite(runner, host, config.WEB_PORT, ssl_context=ssl_context)
await site.start()
print_memory_usage()
while True:
await asyncio.sleep(3600) # sleep forever