lint: port to common.config, remove local config var

This commit is contained in:
Hans-Christoph Steiner
2025-11-22 23:06:40 +01:00
parent b90fd68794
commit b43faa8c75
2 changed files with 14 additions and 31 deletions

View File

@@ -28,8 +28,6 @@ from fdroidserver._yaml import yaml
from . import _, common, metadata, rewritemeta
config = None
def enforce_https(domain):
return (
@@ -295,11 +293,11 @@ def load_categories_config():
global CATEGORIES_KEYS
k = common.CATEGORIES_CONFIG_NAME
if not CATEGORIES_KEYS:
if config and k in config:
CATEGORIES_KEYS = config[k]
if common.config and k in common.config:
CATEGORIES_KEYS = common.config[k]
else:
config[k] = common.load_localized_config(k, 'repo')
CATEGORIES_KEYS = list(config[k].keys())
common.config[k] = common.load_localized_config(k, 'repo')
CATEGORIES_KEYS = list(common.config[k].keys())
def check_regexes(app):
@@ -385,7 +383,7 @@ def check_ucm_tags(app):
def check_char_limits(app):
limits = config['char_limits']
limits = common.config['char_limits']
if len(app.Summary) > limits['summary']:
yield _("Summary of length {length} is over the {limit} char limit").format(
@@ -565,8 +563,8 @@ def check_license_tag(app):
e.g. `lint_licenses: ` or `lint_licenses: []`
"""
if 'lint_licenses' in config:
lint_licenses = config['lint_licenses']
if 'lint_licenses' in common.config:
lint_licenses = common.config['lint_licenses']
if lint_licenses is None:
return
else:
@@ -717,7 +715,6 @@ def check_antiFeatures(app):
def check_for_unsupported_metadata_files(basedir=""):
"""Check whether any non-metadata files are in metadata/."""
basedir = Path(basedir)
global config
if not (basedir / 'metadata').exists():
return False
@@ -944,9 +941,6 @@ def lint_config(arg):
def main():
global config
# Parse command line...
parser = ArgumentParser()
common.setup_global_opts(parser)
parser.add_argument(
@@ -972,7 +966,7 @@ def main():
options = common.parse_args(parser)
metadata.warnings_action = options.W
config = common.read_config()
common.get_config()
load_antiFeatures_config()
load_categories_config()

View File

@@ -25,7 +25,6 @@ class SetUpTearDownMixin:
def setUp(self):
os.chdir(basedir)
fdroidserver.common.config = None
fdroidserver.lint.config = None
fdroidserver.lint.CATEGORIES_KEYS = None
self._td = mkdtemp()
self.testdir = self._td.name
@@ -62,7 +61,6 @@ class LintTest(SetUpTearDownMixin, unittest.TestCase):
config = dict()
fdroidserver.common.fill_config_defaults(config)
fdroidserver.common.config = config
fdroidserver.lint.config = config
app = {
'Name': 'Bad App',
@@ -80,7 +78,6 @@ class LintTest(SetUpTearDownMixin, unittest.TestCase):
config = dict()
fdroidserver.common.fill_config_defaults(config)
fdroidserver.common.config = config
fdroidserver.lint.config = config
app = {
'Name': 'My App',
@@ -184,7 +181,6 @@ class LintTest(SetUpTearDownMixin, unittest.TestCase):
config = dict()
fdroidserver.common.fill_config_defaults(config)
fdroidserver.common.config = config
fdroidserver.lint.config = config
app = fdroidserver.metadata.App()
app.id = 'fake.app'
@@ -238,7 +234,6 @@ class LintTest(SetUpTearDownMixin, unittest.TestCase):
config = dict()
fdroidserver.common.fill_config_defaults(config)
fdroidserver.common.config = config
fdroidserver.lint.config = config
app = fdroidserver.metadata.App()
app.Name = 'Bad App'
@@ -284,7 +279,6 @@ class LintTest(SetUpTearDownMixin, unittest.TestCase):
config = dict()
fdroidserver.common.fill_config_defaults(config)
fdroidserver.common.config = config
fdroidserver.lint.config = config
app = fdroidserver.metadata.App()
app.License = "GPL-3.0-or-later"
@@ -299,7 +293,6 @@ class LintTest(SetUpTearDownMixin, unittest.TestCase):
config = dict()
fdroidserver.common.fill_config_defaults(config)
fdroidserver.common.config = config
fdroidserver.lint.config = config
app = fdroidserver.metadata.App()
app.License = "Adobe-2006"
@@ -314,7 +307,6 @@ class LintTest(SetUpTearDownMixin, unittest.TestCase):
config = dict()
fdroidserver.common.fill_config_defaults(config)
fdroidserver.common.config = config
fdroidserver.lint.config = config
config['lint_licenses'] = ['fancy-license', 'GPL-3.0-or-later']
app = fdroidserver.metadata.App()
@@ -330,7 +322,6 @@ class LintTest(SetUpTearDownMixin, unittest.TestCase):
config = dict()
fdroidserver.common.fill_config_defaults(config)
fdroidserver.common.config = config
fdroidserver.lint.config = config
config['lint_licenses'] = ['fancy-license', 'GPL-3.0-or-later']
app = fdroidserver.metadata.App()
@@ -346,7 +337,6 @@ class LintTest(SetUpTearDownMixin, unittest.TestCase):
config = dict()
fdroidserver.common.fill_config_defaults(config)
fdroidserver.common.config = config
fdroidserver.lint.config = config
config['lint_licenses'] = []
app = fdroidserver.metadata.App()
@@ -362,7 +352,6 @@ class LintTest(SetUpTearDownMixin, unittest.TestCase):
config = dict()
fdroidserver.common.fill_config_defaults(config)
fdroidserver.common.config = config
fdroidserver.lint.config = config
config['lint_licenses'] = None
app = fdroidserver.metadata.App()
@@ -375,7 +364,7 @@ class LintTest(SetUpTearDownMixin, unittest.TestCase):
self.assertFalse(anywarns)
def test_check_categories_in_config(self):
fdroidserver.lint.config = {
fdroidserver.common.config = {
fdroidserver.common.CATEGORIES_CONFIG_NAME: ['InConfig']
}
fdroidserver.lint.load_categories_config()
@@ -383,19 +372,19 @@ class LintTest(SetUpTearDownMixin, unittest.TestCase):
self.assertEqual(0, len(list(fdroidserver.lint.check_categories(app))))
def test_check_categories_not_in_config(self):
fdroidserver.lint.config = dict()
fdroidserver.common.config = dict()
fdroidserver.lint.load_categories_config()
app = fdroidserver.metadata.App({'Categories': ['NotInConfig']})
self.assertEqual(1, len(list(fdroidserver.lint.check_categories(app))))
def test_check_categories_empty_is_error(self):
fdroidserver.lint.config = {fdroidserver.common.CATEGORIES_CONFIG_NAME: []}
fdroidserver.common.config = {fdroidserver.common.CATEGORIES_CONFIG_NAME: []}
fdroidserver.lint.load_categories_config()
app = fdroidserver.metadata.App({'Categories': ['something']})
self.assertEqual(1, len(list(fdroidserver.lint.check_categories(app))))
def test_check_categories_old_hardcoded_not_defined(self):
fdroidserver.lint.config = {
fdroidserver.common.config = {
fdroidserver.common.CATEGORIES_CONFIG_NAME: ['foo', 'bar']
}
fdroidserver.lint.load_categories_config()
@@ -406,7 +395,7 @@ class LintTest(SetUpTearDownMixin, unittest.TestCase):
"""In config.yml, categories is a list."""
os.chdir(self.testdir)
fdroidserver.common.write_config_file('categories: [foo, bar]\n')
fdroidserver.lint.config = fdroidserver.common.read_config()
fdroidserver.common.read_config()
fdroidserver.lint.load_categories_config()
self.assertEqual(fdroidserver.lint.CATEGORIES_KEYS, ['foo', 'bar'])
app = fdroidserver.metadata.App({'Categories': ['bar']})
@@ -417,7 +406,7 @@ class LintTest(SetUpTearDownMixin, unittest.TestCase):
os.chdir(self.testdir)
os.mkdir('config')
Path('config/categories.yml').write_text('{foo: {name: foo}, bar: {name: bar}}')
fdroidserver.lint.config = fdroidserver.common.read_config()
fdroidserver.common.read_config()
fdroidserver.lint.load_categories_config()
self.assertEqual(fdroidserver.lint.CATEGORIES_KEYS, ['foo', 'bar'])
app = fdroidserver.metadata.App({'Categories': ['bar']})