Add some type annotations to main in qlocalexml2cpp.py

Task-number: QTBUG-128634
Change-Id: Iaf5a25da86dd330bdab893b34c7c1288e239a182
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
(cherry picked from commit cd6491e9500dc6e0ebe6a39ea791e3c643223a62)
This commit is contained in:
Mate Barany 2024-10-01 15:50:31 +02:00
parent 582eaaaa68
commit 20ccdf05a7

View File

@ -17,7 +17,7 @@ The ISO 639-3 data file can be downloaded from the SIL website:
import datetime import datetime
import argparse import argparse
from pathlib import Path from pathlib import Path
from typing import Callable, Iterator, Optional from typing import Callable, Iterator, Optional, TextIO
from qlocalexml import Locale, QLocaleXmlReader from qlocalexml import Locale, QLocaleXmlReader
from localetools import * from localetools import *
@ -666,7 +666,7 @@ class LocaleHeaderWriter (SourceFileEditor):
out('\n };\n') out('\n };\n')
def main(argv, out, err): def main(argv: list[str], out: TextIO, err: TextIO) -> int:
"""Updates QLocale's CLDR data from a QLocaleXML file. """Updates QLocale's CLDR data from a QLocaleXML file.
Takes sys.argv, sys.stdout, sys.stderr (or equivalents) as Takes sys.argv, sys.stdout, sys.stderr (or equivalents) as
@ -679,7 +679,7 @@ def main(argv, out, err):
Updates various src/corelib/t*/q*_data_p.h files within the qtbase Updates various src/corelib/t*/q*_data_p.h files within the qtbase
checkout to contain data extracted from the QLocaleXML file.""" checkout to contain data extracted from the QLocaleXML file."""
calendars_map = { calendars_map: dict[str, str] = {
# CLDR name: Qt file name fragment # CLDR name: Qt file name fragment
'gregorian': 'roman', 'gregorian': 'roman',
'persian': 'jalali', 'persian': 'jalali',
@ -700,11 +700,11 @@ def main(argv, out, err):
parser.add_argument('--calendars', help='select calendars to emit data for', parser.add_argument('--calendars', help='select calendars to emit data for',
nargs='+', metavar='CALENDAR', nargs='+', metavar='CALENDAR',
choices=all_calendars, default=all_calendars) choices=all_calendars, default=all_calendars)
args = parser.parse_args(argv[1:]) args: argparse.Namespace = parser.parse_args(argv[1:])
qlocalexml = args.input_file qlocalexml: str = args.input_file
qtsrcdir = Path(args.qtbase_path) qtsrcdir = Path(args.qtbase_path)
calendars = {cal: calendars_map[cal] for cal in args.calendars} calendars: dict[str, str] = {cal: calendars_map[cal] for cal in args.calendars}
if not (qtsrcdir.is_dir() if not (qtsrcdir.is_dir()
and all(qtsrcdir.joinpath('src/corelib/text', leaf).is_file() and all(qtsrcdir.joinpath('src/corelib/text', leaf).is_file()