modules/i18n: Fix remaining mypy spotted issues

pull/9333/head
Dylan Baker 4 years ago
parent 6399544e4c
commit bd2fcb268b
  1. 51
      mesonbuild/modules/i18n.py
  2. 3
      run_mypy.py

@ -29,6 +29,7 @@ if T.TYPE_CHECKING:
from typing_extensions import Literal, TypedDict
from . import ModuleState
from ..build import Target
from ..interpreter import Interpreter
from ..interpreterbase import TYPE_var
from ..programs import ExternalProgram
@ -144,22 +145,25 @@ class I18nModule(ExtensionModule):
def merge_file(self, state: 'ModuleState', args: T.List['TYPE_var'], kwargs: 'MergeFile') -> ModuleReturnValue:
if not shutil.which('xgettext'):
self.nogettext_warning()
return
return ModuleReturnValue(None, [])
podir = path.join(state.build_to_src, state.subdir, kwargs['po_dir'])
ddirs = self._get_data_dirs(state, kwargs['data_dirs'])
datadirs = '--datadirs=' + ':'.join(ddirs) if ddirs else None
command = state.environment.get_build_command() + [
command: T.List[T.Union[str, build.BuildTarget, build.CustomTarget,
build.CustomTargetIndex, 'ExternalProgram', mesonlib.File]] = []
command.extend(state.environment.get_build_command())
command.extend([
'--internal', 'msgfmthelper',
'@INPUT@', '@OUTPUT@', kwargs['type'], podir
]
])
if datadirs:
command.append(datadirs)
if kwargs['args']:
command.append('--')
command.append(kwargs['args'])
command.extend(kwargs['args'])
build_by_default = kwargs['build_by_default']
if build_by_default is None:
@ -190,9 +194,13 @@ class I18nModule(ExtensionModule):
values = mesonlib.get_filenames_templates_dict([ifile_abs], None)
outputs = mesonlib.substitute_values(outputs, values)
output = outputs[0]
ct = build.CustomTarget(output + '_' + state.subdir.replace('/', '@').replace('\\', '@') + '_merge', state.subdir, state.subproject, real_kwargs)
ct = build.CustomTarget(
output + '_' + state.subdir.replace('/', '@').replace('\\', '@') + '_merge',
state.subdir, state.subproject, T.cast(T.Dict[str, T.Any], real_kwargs))
else:
ct = build.CustomTarget(kwargs['output'][0] + '_merge', state.subdir, state.subproject, real_kwargs)
ct = build.CustomTarget(
kwargs['output'][0] + '_merge', state.subdir, state.subproject,
T.cast(T.Dict[str, T.Any], real_kwargs))
return ModuleReturnValue(ct, [ct])
@ -214,29 +222,32 @@ class I18nModule(ExtensionModule):
def gettext(self, state: 'ModuleState', args: T.Tuple[str], kwargs: 'Gettext') -> ModuleReturnValue:
if not shutil.which('xgettext'):
self.nogettext_warning()
return
return ModuleReturnValue(None, [])
packagename = args[0]
pkg_arg = f'--pkgname={packagename}'
languages = kwargs['languages']
datadirs = self._get_data_dirs(state, kwargs['data_dirs'])
lang_arg = '--langs=' + '@@'.join(languages) if languages else None
_datadirs = ':'.join(self._get_data_dirs(state, kwargs['data_dirs']))
datadirs = '--datadirs={}'.format(_datadirs) if _datadirs else None
extra_args = kwargs['args']
targets = []
gmotargets = []
targets: T.List['Target'] = []
gmotargets: T.List['build.CustomTarget'] = []
preset = kwargs['preset']
if preset:
preset_args = PRESET_ARGS[preset]
extra_args = set(preset_args + extra_args)
extra_args = list(mesonlib.OrderedSet(preset_args + extra_args))
pkg_arg = '--pkgname=' + packagename
lang_arg = '--langs=' + '@@'.join(languages) if languages else None
datadirs = '--datadirs=' + ':'.join(datadirs) if datadirs else None
extra_args = '--extra-args=' + '@@'.join(extra_args) if extra_args else None
extra_arg = '--extra-args=' + '@@'.join(extra_args) if extra_args else None
potargs = state.environment.get_build_command() + ['--internal', 'gettext', 'pot', pkg_arg]
if datadirs:
potargs.append(datadirs)
if extra_args:
potargs.append(extra_args)
potargs.append(_datadirs)
if extra_arg:
potargs.append(extra_arg)
pottarget = build.RunTarget(packagename + '-pot', potargs, [], state.subdir, state.subproject)
targets.append(pottarget)
@ -271,8 +282,8 @@ class I18nModule(ExtensionModule):
updatepoargs.append(lang_arg)
if datadirs:
updatepoargs.append(datadirs)
if extra_args:
updatepoargs.append(extra_args)
if extra_arg:
updatepoargs.append(extra_arg)
updatepotarget = build.RunTarget(packagename + '-update-po', updatepoargs, [], state.subdir, state.subproject)
targets.append(updatepotarget)

@ -39,9 +39,10 @@ modules = [
'mesonbuild/mintro.py',
'mesonbuild/mlog.py',
'mesonbuild/modules/fs.py',
'mesonbuild/modules/i18n.py',
'mesonbuild/modules/java.py',
'mesonbuild/modules/unstable_rust.py',
'mesonbuild/modules/qt.py',
'mesonbuild/modules/unstable_rust.py',
'mesonbuild/mparser.py',
'mesonbuild/msetup.py',
'mesonbuild/mtest.py',

Loading…
Cancel
Save