modules/i18n: use typed_pos_args
This commit is contained in:
parent
3bb962975e
commit
61f2866a9f
|
@ -12,6 +12,7 @@
|
||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
|
from mesonbuild.interpreterbase.decorators import noPosargs, typed_pos_args
|
||||||
from os import path
|
from os import path
|
||||||
import shutil
|
import shutil
|
||||||
import typing as T
|
import typing as T
|
||||||
|
@ -28,6 +29,7 @@ from ..scripts.gettext import read_linguas
|
||||||
if T.TYPE_CHECKING:
|
if T.TYPE_CHECKING:
|
||||||
from . import ModuleState
|
from . import ModuleState
|
||||||
from ..interpreter import Interpreter
|
from ..interpreter import Interpreter
|
||||||
|
from ..interpreterbase import TYPE_var
|
||||||
|
|
||||||
PRESET_ARGS = {
|
PRESET_ARGS = {
|
||||||
'glib': [
|
'glib': [
|
||||||
|
@ -85,7 +87,8 @@ class I18nModule(ExtensionModule):
|
||||||
@FeatureNew('i18n.merge_file', '0.37.0')
|
@FeatureNew('i18n.merge_file', '0.37.0')
|
||||||
@FeatureNewKwargs('i18n.merge_file', '0.51.0', ['args'])
|
@FeatureNewKwargs('i18n.merge_file', '0.51.0', ['args'])
|
||||||
@permittedKwargs(build.CustomTarget.known_kwargs | {'data_dirs', 'po_dir', 'type', 'args'})
|
@permittedKwargs(build.CustomTarget.known_kwargs | {'data_dirs', 'po_dir', 'type', 'args'})
|
||||||
def merge_file(self, state: 'ModuleState', args, kwargs) -> ModuleReturnValue:
|
@noPosargs
|
||||||
|
def merge_file(self, state: 'ModuleState', args: T.List['TYPE_var'], kwargs) -> ModuleReturnValue:
|
||||||
if not shutil.which('xgettext'):
|
if not shutil.which('xgettext'):
|
||||||
self.nogettext_warning()
|
self.nogettext_warning()
|
||||||
return
|
return
|
||||||
|
@ -139,9 +142,8 @@ class I18nModule(ExtensionModule):
|
||||||
@FeatureNewKwargs('i18n.gettext', '0.37.0', ['preset'])
|
@FeatureNewKwargs('i18n.gettext', '0.37.0', ['preset'])
|
||||||
@FeatureNewKwargs('i18n.gettext', '0.50.0', ['install_dir'])
|
@FeatureNewKwargs('i18n.gettext', '0.50.0', ['install_dir'])
|
||||||
@permittedKwargs({'po_dir', 'data_dirs', 'type', 'languages', 'args', 'preset', 'install', 'install_dir'})
|
@permittedKwargs({'po_dir', 'data_dirs', 'type', 'languages', 'args', 'preset', 'install', 'install_dir'})
|
||||||
def gettext(self, state: 'ModuleState', args, kwargs) -> ModuleReturnValue:
|
@typed_pos_args('i81n.gettex', str)
|
||||||
if len(args) != 1:
|
def gettext(self, state: 'ModuleState', args: T.Tuple[str], kwargs) -> ModuleReturnValue:
|
||||||
raise coredata.MesonException('Gettext requires one positional argument (package name).')
|
|
||||||
if not shutil.which('xgettext'):
|
if not shutil.which('xgettext'):
|
||||||
self.nogettext_warning()
|
self.nogettext_warning()
|
||||||
return
|
return
|
||||||
|
|
Loading…
Reference in New Issue