From 9769d00e2cd9c4bb048a0d145ac572b8ad85ccb3 Mon Sep 17 00:00:00 2001 From: Israel Figueroa Date: Tue, 28 Feb 2023 14:27:05 -0300 Subject: [PATCH] =?UTF-8?q?patch=20de=20conexi=C3=B3n=20a=20la=20db=20con?= =?UTF-8?q?=20swarm?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- login-mecanics/__init__.py | 13 ++++--------- private-dynamic/config.py | 12 +++--------- private-dynamic/content/main.py | 9 +++++---- private-dynamic/static/favicon.ico | Bin 12427 -> 12156 bytes public-dynamic/__init__.py | 12 +++--------- 5 files changed, 15 insertions(+), 31 deletions(-) diff --git a/login-mecanics/__init__.py b/login-mecanics/__init__.py index af6a3e2..6f06c22 100644 --- a/login-mecanics/__init__.py +++ b/login-mecanics/__init__.py @@ -19,18 +19,13 @@ class Config: DEBUG = os.environ.get('DEBUG') SESSION_COOKIE_DOMAIN = os.environ.get('COOKIE_DOMAIN') SQLALCHEMY_DATABASE_URI = os.environ.get('SQLALCHEMY_WEBDB_URI') - SQLALCHEMY_BINDS = { - 'system': os.environ.get('SQLALCHEMY_WEBDB_URI'), - 'gtfs_work': os.environ.get('SQLALCHEMY_HOTDB_URI'), - 'gtfs_static': os.environ.get('SQLALCHEMY_GTFSDB_URI'), + 'system': {'url': os.environ.get('SQLALCHEMY_WEBDB_URI'), 'pool_recycle': 60, 'echo_pool': True }, + 'gtfs_work':{'url': os.environ.get('SQLALCHEMY_HOTDB_URI'), 'pool_recycle': 60, 'echo_pool': True }, + 'gtfs_static':{'url': os.environ.get('SQLALCHEMY_GTFSDB_URI'), 'pool_recycle': 60, 'echo_pool': True }, } MAIL_DEBUG = int(os.environ.get('DEBUG') == True) - SQLALCHEMY_ENGINE_OPTIONS = { - 'pool_size': 2, - 'pool_recycle': 300, - 'pool_pre_ping': True - } + #if sys.version_info.major < 3: # reload(sys) #sys.setdefaultencoding('utf8') diff --git a/private-dynamic/config.py b/private-dynamic/config.py index 2f93489..a170ea6 100644 --- a/private-dynamic/config.py +++ b/private-dynamic/config.py @@ -7,18 +7,12 @@ class Config: DEBUG = os.environ.get('DEBUG') SESSION_COOKIE_DOMAIN = os.environ.get('COOKIE_DOMAIN') SQLALCHEMY_DATABASE_URI = os.environ.get('SQLALCHEMY_WEBDB_URI') - SQLALCHEMY_BINDS = { - 'system': os.environ.get('SQLALCHEMY_WEBDB_URI'), - 'gtfs_work': os.environ.get('SQLALCHEMY_HOTDB_URI'), - 'gtfs_static': os.environ.get('SQLALCHEMY_GTFSDB_URI'), + 'system': {'url': os.environ.get('SQLALCHEMY_WEBDB_URI'), 'pool_recycle': 60, 'echo_pool': True }, + 'gtfs_work':{'url': os.environ.get('SQLALCHEMY_HOTDB_URI'), 'pool_recycle': 60, 'echo_pool': True }, + 'gtfs_static':{'url': os.environ.get('SQLALCHEMY_GTFSDB_URI'), 'pool_recycle': 60, 'echo_pool': True }, } MAIL_DEBUG = int(os.environ.get('DEBUG') == True) MAIL_SERVER = os.environ.get('MAIL_SERVER') MAIL_PORT = os.environ.get('MAIL_PORT') - SQLALCHEMY_ENGINE_OPTIONS = { - 'pool_size': 2, - 'pool_recycle': 300, - 'pool_pre_ping': True - } diff --git a/private-dynamic/content/main.py b/private-dynamic/content/main.py index 9bbd7a1..9420d1f 100644 --- a/private-dynamic/content/main.py +++ b/private-dynamic/content/main.py @@ -1,5 +1,5 @@ # coding: utf-8 -from flask import render_template, flash, redirect, url_for, request, Blueprint, session as httpsession, g, current_app +from flask import render_template, flash, redirect, url_for, request, Blueprint, session as httpsession, g, current_app, send_from_directory from flask_login import login_user, current_user, logout_user, login_required from user_agents import parse from webinterface import db, bcrypt @@ -9,7 +9,7 @@ from webinterface.models.gestion import Comision, Miembro, Objetivo from .utils import es_local import datetime import markdown2 - +import os ## Core provee la funcionalidad basica de autentificación usando las credenciales de iLab main = Blueprint('main', __name__) @@ -43,10 +43,11 @@ def login(): def logout(): return redirect('https://tpmc.ilab.cl/system/logout') -@main.before_app_first_request +#@main.before_app_first_request def init_database(): + pass try: -# db.drop_all() + db.drop_all() db.create_all() id_internet = Identidad.query.filter(Identidad.login=='Internet').one_or_none() diff --git a/private-dynamic/static/favicon.ico b/private-dynamic/static/favicon.ico index dddefa750b4762ec39ea16abf8a52a7f4ea384f9..b28adaf27f0fbe86d76f44930e715316a0787b65 100644 GIT binary patch literal 12156 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