2016-01-18 14:48:14 +00:00
|
|
|
##########################################################################
|
|
|
|
|
#
|
|
|
|
|
# pgAdmin 4 - PostgreSQL Tools
|
|
|
|
|
#
|
2021-01-04 15:34:45 +05:30
|
|
|
# Copyright (C) 2013 - 2021, The pgAdmin Development Team
|
2016-01-18 14:48:14 +00:00
|
|
|
# This software is released under the PostgreSQL Licence
|
|
|
|
|
#
|
|
|
|
|
##########################################################################
|
|
|
|
|
|
2015-10-20 12:33:18 +05:30
|
|
|
from flask import current_app
|
2016-06-21 14:12:14 +01:00
|
|
|
|
2015-10-20 12:33:18 +05:30
|
|
|
from .registry import DriverRegistry
|
|
|
|
|
|
|
|
|
|
|
2021-06-24 11:30:11 +05:30
|
|
|
def get_driver(_type, app=None):
|
2015-10-20 12:33:18 +05:30
|
|
|
|
2021-06-24 11:30:11 +05:30
|
|
|
if app is not None:
|
|
|
|
|
DriverRegistry.load_modules(app)
|
2015-10-20 12:33:18 +05:30
|
|
|
|
2021-06-24 11:30:11 +05:30
|
|
|
return DriverRegistry.get(_type)
|
2015-10-20 12:33:18 +05:30
|
|
|
|
2016-06-21 14:21:06 +01:00
|
|
|
|
2015-10-20 12:33:18 +05:30
|
|
|
def init_app(app):
|
|
|
|
|
drivers = dict()
|
|
|
|
|
|
|
|
|
|
setattr(app, '_pgadmin_server_drivers', drivers)
|
2021-06-24 11:30:11 +05:30
|
|
|
DriverRegistry.load_modules(app)
|
2015-10-20 12:33:18 +05:30
|
|
|
|
2016-01-02 14:54:01 +05:30
|
|
|
return drivers
|
|
|
|
|
|
2015-10-20 12:33:18 +05:30
|
|
|
|
|
|
|
|
def ping():
|
|
|
|
|
drivers = getattr(current_app, '_pgadmin_server_drivers', None)
|
|
|
|
|
|
|
|
|
|
for type in drivers:
|
2020-06-26 19:24:54 +05:30
|
|
|
drivers[type].gc_timeout()
|