# HG changeset patch # User Mads Kiilerich # Date 1602608879 -7200 # Node ID e410c43aec4264fd5bc5fcdfa30f0a577d51ee35 # Parent d332fca2947472fdb316a63ddac20a654ae42720 config: move config.conf to kallithea.lib kallithea.config is mainly the WSGI entry point with TG stuff, and thus a high level controller thing - not a place to store configuration. Note: The content of conf.py is kind of similar to what we have in kallithea/__init__.py . These two should perhaps be merged somehow. diff -r d332fca29474 -r e410c43aec42 kallithea/config/conf.py --- a/kallithea/config/conf.py Sat Oct 10 21:05:12 2020 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,69 +0,0 @@ -# -*- coding: utf-8 -*- -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU 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 General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . -""" -kallithea.config.conf -~~~~~~~~~~~~~~~~~~~~~ - -Various config settings for Kallithea - -This file was forked by the Kallithea project in July 2014. -Original author and date, and relevant copyright and licensing information is below: -:created_on: Mar 7, 2012 -:author: marcink -:copyright: (c) 2013 RhodeCode GmbH, and others. -:license: GPLv3, see LICENSE.md for more details. -""" - -from kallithea.lib import pygmentsutils - - -# language map is also used by whoosh indexer, which for those specified -# extensions will index it's content -LANGUAGES_EXTENSIONS_MAP = pygmentsutils.get_extension_descriptions() - -# Whoosh index targets - -# Extensions we want to index content of using whoosh -INDEX_EXTENSIONS = list(LANGUAGES_EXTENSIONS_MAP) - -# Filenames we want to index content of using whoosh -INDEX_FILENAMES = pygmentsutils.get_index_filenames() - -# list of readme files to search in file tree and display in summary -# attached weights defines the search order lower is first -ALL_READMES = [ - ('readme', 0), ('README', 0), ('Readme', 0), - ('doc/readme', 1), ('doc/README', 1), ('doc/Readme', 1), - ('Docs/readme', 2), ('Docs/README', 2), ('Docs/Readme', 2), - ('DOCS/readme', 2), ('DOCS/README', 2), ('DOCS/Readme', 2), - ('docs/readme', 2), ('docs/README', 2), ('docs/Readme', 2), -] - -# extension together with weights to search lower is first -RST_EXTS = [ - ('', 0), ('.rst', 1), ('.rest', 1), - ('.RST', 2), ('.REST', 2), - ('.txt', 3), ('.TXT', 3) -] - -MARKDOWN_EXTS = [ - ('.md', 1), ('.MD', 1), - ('.mkdn', 2), ('.MKDN', 2), - ('.mdown', 3), ('.MDOWN', 3), - ('.markdown', 4), ('.MARKDOWN', 4) -] - -PLAIN_EXTS = [('.text', 2), ('.TEXT', 2)] - -ALL_EXTS = MARKDOWN_EXTS + RST_EXTS + PLAIN_EXTS diff -r d332fca29474 -r e410c43aec42 kallithea/controllers/summary.py --- a/kallithea/controllers/summary.py Sat Oct 10 21:05:12 2020 +0200 +++ b/kallithea/controllers/summary.py Tue Oct 13 19:07:59 2020 +0200 @@ -39,11 +39,11 @@ from webob.exc import HTTPBadRequest import kallithea.lib.helpers as h -from kallithea.config.conf import ALL_EXTS, ALL_READMES, LANGUAGES_EXTENSIONS_MAP from kallithea.lib import ext_json from kallithea.lib.auth import HasRepoPermissionLevelDecorator, LoginRequired from kallithea.lib.base import BaseRepoController, jsonify, render from kallithea.lib.celerylib.tasks import get_commits_stats +from kallithea.lib.conf import ALL_EXTS, ALL_READMES, LANGUAGES_EXTENSIONS_MAP from kallithea.lib.markup_renderer import MarkupRenderer from kallithea.lib.page import Page from kallithea.lib.utils2 import safe_int, safe_str diff -r d332fca29474 -r e410c43aec42 kallithea/lib/celerylib/tasks.py --- a/kallithea/lib/celerylib/tasks.py Sat Oct 10 21:05:12 2020 +0200 +++ b/kallithea/lib/celerylib/tasks.py Tue Oct 13 19:07:59 2020 +0200 @@ -37,8 +37,7 @@ from tg import config import kallithea -from kallithea.config import conf -from kallithea.lib import celerylib, ext_json +from kallithea.lib import celerylib, conf, ext_json from kallithea.lib.helpers import person from kallithea.lib.hooks import log_create_repository from kallithea.lib.indexers.daemon import WhooshIndexingDaemon diff -r d332fca29474 -r e410c43aec42 kallithea/lib/conf.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/kallithea/lib/conf.py Tue Oct 13 19:07:59 2020 +0200 @@ -0,0 +1,69 @@ +# -*- coding: utf-8 -*- +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU 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 General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +""" +kallithea.lib.conf +~~~~~~~~~~~~~~~~~~~~~ + +Various config settings for Kallithea + +This file was forked by the Kallithea project in July 2014. +Original author and date, and relevant copyright and licensing information is below: +:created_on: Mar 7, 2012 +:author: marcink +:copyright: (c) 2013 RhodeCode GmbH, and others. +:license: GPLv3, see LICENSE.md for more details. +""" + +from kallithea.lib import pygmentsutils + + +# language map is also used by whoosh indexer, which for those specified +# extensions will index it's content +LANGUAGES_EXTENSIONS_MAP = pygmentsutils.get_extension_descriptions() + +# Whoosh index targets + +# Extensions we want to index content of using whoosh +INDEX_EXTENSIONS = list(LANGUAGES_EXTENSIONS_MAP) + +# Filenames we want to index content of using whoosh +INDEX_FILENAMES = pygmentsutils.get_index_filenames() + +# list of readme files to search in file tree and display in summary +# attached weights defines the search order lower is first +ALL_READMES = [ + ('readme', 0), ('README', 0), ('Readme', 0), + ('doc/readme', 1), ('doc/README', 1), ('doc/Readme', 1), + ('Docs/readme', 2), ('Docs/README', 2), ('Docs/Readme', 2), + ('DOCS/readme', 2), ('DOCS/README', 2), ('DOCS/Readme', 2), + ('docs/readme', 2), ('docs/README', 2), ('docs/Readme', 2), +] + +# extension together with weights to search lower is first +RST_EXTS = [ + ('', 0), ('.rst', 1), ('.rest', 1), + ('.RST', 2), ('.REST', 2), + ('.txt', 3), ('.TXT', 3) +] + +MARKDOWN_EXTS = [ + ('.md', 1), ('.MD', 1), + ('.mkdn', 2), ('.MKDN', 2), + ('.mdown', 3), ('.MDOWN', 3), + ('.markdown', 4), ('.MARKDOWN', 4) +] + +PLAIN_EXTS = [('.text', 2), ('.TEXT', 2)] + +ALL_EXTS = MARKDOWN_EXTS + RST_EXTS + PLAIN_EXTS diff -r d332fca29474 -r e410c43aec42 kallithea/lib/indexers/daemon.py --- a/kallithea/lib/indexers/daemon.py Sat Oct 10 21:05:12 2020 +0200 +++ b/kallithea/lib/indexers/daemon.py Tue Oct 13 19:07:59 2020 +0200 @@ -37,7 +37,7 @@ from whoosh.index import create_in, exists_in, open_dir from whoosh.qparser import QueryParser -from kallithea.config.conf import INDEX_EXTENSIONS, INDEX_FILENAMES +from kallithea.lib.conf import INDEX_EXTENSIONS, INDEX_FILENAMES from kallithea.lib.indexers import CHGSET_IDX_NAME, CHGSETS_SCHEMA, IDX_NAME, SCHEMA from kallithea.lib.utils2 import safe_str from kallithea.lib.vcs.exceptions import ChangesetDoesNotExistError, ChangesetError, NodeDoesNotExistError, RepositoryError diff -r d332fca29474 -r e410c43aec42 kallithea/lib/utils.py --- a/kallithea/lib/utils.py Sat Oct 10 21:05:12 2020 +0200 +++ b/kallithea/lib/utils.py Tue Oct 13 19:07:59 2020 +0200 @@ -38,7 +38,7 @@ import mercurial.error import mercurial.ui -import kallithea.config.conf +import kallithea.lib.conf from kallithea.lib.exceptions import InvalidCloneUriException from kallithea.lib.utils2 import ascii_bytes, aslist, extract_mentioned_usernames, get_current_authuser, safe_bytes, safe_str from kallithea.lib.vcs.backends.git.repository import GitRepository @@ -383,10 +383,10 @@ :param config: kallithea.CONFIG """ log.debug('adding extra into INDEX_EXTENSIONS') - kallithea.config.conf.INDEX_EXTENSIONS.extend(re.split(r'\s+', config.get('index.extensions', ''))) + kallithea.lib.conf.INDEX_EXTENSIONS.extend(re.split(r'\s+', config.get('index.extensions', ''))) log.debug('adding extra into INDEX_FILENAMES') - kallithea.config.conf.INDEX_FILENAMES.extend(re.split(r'\s+', config.get('index.filenames', ''))) + kallithea.lib.conf.INDEX_FILENAMES.extend(re.split(r'\s+', config.get('index.filenames', ''))) def map_groups(path): @@ -526,16 +526,16 @@ kallithea.EXTENSIONS = ext # Additional mappings that are not present in the pygments lexers - kallithea.config.conf.LANGUAGES_EXTENSIONS_MAP.update(getattr(ext, 'EXTRA_MAPPINGS', {})) + kallithea.lib.conf.LANGUAGES_EXTENSIONS_MAP.update(getattr(ext, 'EXTRA_MAPPINGS', {})) # Override any INDEX_EXTENSIONS if getattr(ext, 'INDEX_EXTENSIONS', []): log.debug('settings custom INDEX_EXTENSIONS') - kallithea.config.conf.INDEX_EXTENSIONS = getattr(ext, 'INDEX_EXTENSIONS', []) + kallithea.lib.conf.INDEX_EXTENSIONS = getattr(ext, 'INDEX_EXTENSIONS', []) # Additional INDEX_EXTENSIONS log.debug('adding extra into INDEX_EXTENSIONS') - kallithea.config.conf.INDEX_EXTENSIONS.extend(getattr(ext, 'EXTRA_INDEX_EXTENSIONS', [])) + kallithea.lib.conf.INDEX_EXTENSIONS.extend(getattr(ext, 'EXTRA_INDEX_EXTENSIONS', [])) #============================================================================== diff -r d332fca29474 -r e410c43aec42 kallithea/tests/functional/test_search_indexing.py --- a/kallithea/tests/functional/test_search_indexing.py Sat Oct 10 21:05:12 2020 +0200 +++ b/kallithea/tests/functional/test_search_indexing.py Tue Oct 13 19:07:59 2020 +0200 @@ -1,7 +1,7 @@ import mock import kallithea -from kallithea.config.conf import INDEX_FILENAMES +from kallithea.lib.conf import INDEX_FILENAMES from kallithea.model.meta import Session from kallithea.model.repo import RepoModel from kallithea.model.repo_group import RepoGroupModel