<commit_before># coding: utf-8

# This file is part of Supysonic.
#
# Supysonic is a Python implementation of the Subsonic server API.
# Copyright (C) 2013  Alban 'spl0k' Féron
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.

import os.path
from flask import Flask, g
from werkzeug.local import LocalProxy

from supysonic import config
from supysonic.db import get_store

def get_db_store():
	store = getattr(g, 'store', None)
	if store:
		return store
	g.store = get_store(config.get('base', 'database_uri'))
	return g.store

store = LocalProxy(get_db_store)

def teardown_db(exception):
	store = getattr(g, 'store', None)
	if store:
		store.close()

def create_application():
	global app

	if not config.check():
		return None

	if not os.path.exists(config.get('webapp', 'cache_dir')):
		os.makedirs(config.get('webapp', 'cache_dir'))

	app = Flask(__name__)
	app.secret_key = <KEY>'

	app.teardown_appcontext(teardown_db)

	if config.get('webapp', 'log_file'):
		import logging
		from logging.handlers import TimedRotatingFileHandler
		handler = TimedRotatingFileHandler(config.get('webapp', 'log_file'), when = 'midnight')
		if config.get('webapp', 'log_level'):
			mapping = {
				'DEBUG':   logging.DEBUG,
				'INFO':    logging.INFO,
				'WARNING': logging.WARNING,
				'ERROR':   logging.ERROR,
				'CRTICAL': logging.CRITICAL
			}
			handler.setLevel(mapping.get(config.get('webapp', 'log_level').upper(), logging.NOTSET))
		app.logger.addHandler(handler)

	from supysonic import frontend
	from supysonic import api

	return app
<commit_msg>WIP rewrite config.py: simply retab web.py<commit_after>#! /usr/bin/env python
# -*- coding: utf-8 -*-
# vim:fenc=utf-8
#
# This file is part of Supysonic.
# Supysonic is a Python implementation of the Subsonic server API.
#
# Copyright © 2013-2017 Alban 'spl0k' Féron
#                  2017 <NAME>
#
# Distributed under terms of the GNU AGPLv3 license.

import os.path
from flask import Flask, g
from werkzeug.local import LocalProxy

from supysonic import config
from supysonic.db import get_store

def get_db_store():
    store = getattr(g, 'store', None)
    if store:
        return store
    g.store = get_store(config.get('base', 'database_uri'))
    return g.store

store = LocalProxy(get_db_store)

def teardown_db(exception):
    store = getattr(g, 'store', None)
    if store:
        store.close()

def create_application():
    global app

    if not config.check():
        return None

    if not os.path.exists(config.get('webapp', 'cache_dir')):
        os.makedirs(config.get('webapp', 'cache_dir'))

    app = Flask(__name__)
    app.secret_key = <KEY>'

    app.teardown_appcontext(teardown_db)

    if config.get('webapp', 'log_file'):
        import logging
        from logging.handlers import TimedRotatingFileHandler
        handler = TimedRotatingFileHandler(config.get('webapp', 'log_file'), when = 'midnight')
        if config.get('webapp', 'log_level'):
            mapping = {
                'DEBUG':   logging.DEBUG,
                'INFO':    logging.INFO,
                'WARNING': logging.WARNING,
                'ERROR':   logging.ERROR,
                'CRTICAL': logging.CRITICAL
            }
            handler.setLevel(mapping.get(config.get('webapp', 'log_level').upper(), logging.NOTSET))
        app.logger.addHandler(handler)

    from supysonic import frontend
    from supysonic import api

    return app

{'fraction_non_alphanumeric': 0.10826281732205077, 'fraction_numerical': 0.005724240915878547, 'mean_word_length': 3.4457964601769913, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 1, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6565171', 'n_tokens_mistral': 1316, 'n_tokens_neox': 1246, 'n_words': 384}