OXIESEC PANEL
- Current Dir:
/
/
opt
/
alt
/
python27
/
lib
/
python2.7
/
site-packages
/
postomaat
/
extensions
Server IP: 2a02:4780:11:1084:0:327f:3464:10
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
12/18/2024 09:49:00 AM
rwxr-xr-x
📄
__init__.py
29 bytes
03/16/2023 02:20:00 PM
rw-r--r--
📄
__init__.pyc
210 bytes
12/18/2024 09:49:00 AM
rw-r--r--
📄
dnsquery.py
2.56 KB
03/16/2023 02:20:00 PM
rw-r--r--
📄
dnsquery.pyc
2.43 KB
12/18/2024 09:49:00 AM
rw-r--r--
📄
sql.py
2.5 KB
03/16/2023 02:20:00 PM
rw-r--r--
📄
sql.pyc
2.08 KB
12/18/2024 09:49:00 AM
rw-r--r--
Editing: sql.py
Close
# -*- coding: UTF-8 -*- # Copyright 2009-2018 Oli Schacher # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # # # import logging STATUS = "not loaded" try: from sqlalchemy import create_engine from sqlalchemy.orm import scoped_session, sessionmaker SQL_EXTENSION_ENABLED=True except ImportError: SQL_EXTENSION_ENABLED=False ENABLED = SQL_EXTENSION_ENABLED # fuglu compatibility _sessmaker = None _engines = {} def get_session(connectstring, **kwargs): global SQL_EXTENSION_ENABLED global _sessmaker global _engines if not SQL_EXTENSION_ENABLED: raise Exception("sql extension not enabled") if connectstring in _engines: engine = _engines[connectstring] else: engine = create_engine(connectstring, pool_recycle=20) _engines[connectstring] = engine if _sessmaker is None: _sessmaker = sessionmaker(autoflush=True, autocommit=True, **kwargs) session = scoped_session(_sessmaker) session.configure(bind=engine) return session def get_domain_setting(domain, dbconnection, sqlquery, cache, cachename, default_value=None, logger=None): if logger is None: logger = logging.getLogger() cachekey = '%s-%s' % (cachename, domain) cached = cache.get_cache(cachekey) if cached is not None: logger.debug("got cached setting for %s" % domain) return cached settings = default_value try: session = get_session(dbconnection) # get domain settings dom = session.execute(sqlquery, {'domain': domain}).fetchall() if not dom or not dom[0] or len(dom[0]) == 0: logger.debug( "Can not load domain setting - domain %s not found. Using default settings." % domain) else: settings = dom[0][0] session.close() except Exception as e: logger.error("Exception while loading setting for %s : %s" % (domain, str(e))) cache.put_cache(cachekey, settings) logger.debug("refreshed setting for %s" % domain) return settings