Skip to content

Commit 21fa68f

Browse files
authored
Revert "Add types to rosidl_cli (#826)" (#830)
This reverts commit c71febc.
1 parent c71febc commit 21fa68f

File tree

22 files changed

+112
-182
lines changed

22 files changed

+112
-182
lines changed

rosidl_cli/package.xml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222

2323
<test_depend>ament_copyright</test_depend>
2424
<test_depend>ament_flake8</test_depend>
25-
<test_depend>ament_mypy</test_depend>
2625
<test_depend>ament_pep257</test_depend>
2726
<test_depend>ament_xmllint</test_depend>
2827
<test_depend>python3-pytest</test_depend>

rosidl_cli/py.typed

Whitespace-only changes.

rosidl_cli/rosidl_cli/cli.py

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,18 +14,13 @@
1414

1515
import argparse
1616
import signal
17-
from typing import Any, List, Union
1817

1918
from rosidl_cli.command.generate import GenerateCommand
2019
from rosidl_cli.command.translate import TranslateCommand
2120
from rosidl_cli.common import get_first_line_doc
2221

2322

24-
def add_subparsers(
25-
parser: argparse.ArgumentParser,
26-
cli_name: str,
27-
commands: List[Union[GenerateCommand, TranslateCommand]]
28-
) -> argparse._SubParsersAction[argparse.ArgumentParser]:
23+
def add_subparsers(parser, cli_name, commands):
2924
"""
3025
Create argparse subparser for each command.
3126
@@ -68,7 +63,7 @@ def add_subparsers(
6863
return subparser
6964

7065

71-
def main() -> Union[str, signal.Signals, Any]:
66+
def main():
7267
script_name = 'rosidl'
7368
description = f'{script_name} is an extensible command-line tool ' \
7469
'for ROS interface generation.'
@@ -79,8 +74,7 @@ def main() -> Union[str, signal.Signals, Any]:
7974
formatter_class=argparse.RawDescriptionHelpFormatter
8075
)
8176

82-
commands: List[Union[GenerateCommand, TranslateCommand]] = \
83-
[GenerateCommand(), TranslateCommand()]
77+
commands = [GenerateCommand(), TranslateCommand()]
8478

8579
# add arguments for command extension(s)
8680
add_subparsers(

rosidl_cli/rosidl_cli/command/__init__.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
import argparse
16-
1715

1816
class Command:
1917
"""
@@ -24,8 +22,8 @@ class Command:
2422
* `add_arguments`
2523
"""
2624

27-
def add_arguments(self, parser: argparse.ArgumentParser) -> None:
25+
def add_arguments(self, parser):
2826
pass
2927

30-
def main(self, *, args: argparse.Namespace) -> None:
28+
def main(self, *, parser, args):
3129
raise NotImplementedError()

rosidl_cli/rosidl_cli/command/generate/__init__.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
import argparse
1615
import pathlib
1716

1817
from rosidl_cli.command import Command
@@ -25,7 +24,7 @@ class GenerateCommand(Command):
2524

2625
name = 'generate'
2726

28-
def add_arguments(self, parser: argparse.ArgumentParser) -> None:
27+
def add_arguments(self, parser):
2928
parser.add_argument(
3029
'-o', '--output-path', metavar='PATH',
3130
type=pathlib.Path, default=None,
@@ -51,7 +50,7 @@ def add_arguments(self, parser: argparse.ArgumentParser) -> None:
5150
"If prefixed by another path followed by a colon ':', "
5251
'path resolution is performed against such path.'))
5352

54-
def main(self, *, args: argparse.Namespace) -> None:
53+
def main(self, *, args):
5554
generate(
5655
package_name=args.package_name,
5756
interface_files=args.interface_files,

rosidl_cli/rosidl_cli/command/generate/api.py

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,22 +14,20 @@
1414

1515
import os
1616
import pathlib
17-
from typing import List, Optional
1817

19-
from .extensions import GenerateCommandExtension
2018
from .extensions import load_type_extensions
2119
from .extensions import load_typesupport_extensions
2220

2321

2422
def generate(
2523
*,
26-
package_name: str,
27-
interface_files: List[str],
28-
include_paths: Optional[List[str]] = None,
29-
output_path: Optional[pathlib.Path] = None,
30-
types: Optional[List[str]] = None,
31-
typesupports: Optional[List[str]] = None
32-
) -> List[List[str]]:
24+
package_name,
25+
interface_files,
26+
include_paths=None,
27+
output_path=None,
28+
types=None,
29+
typesupports=None
30+
):
3331
"""
3432
Generate source code from interface definition files.
3533
@@ -62,7 +60,7 @@ def generate(
6260
:returns: list of lists of paths to generated source code files,
6361
one group per type or type support extension invoked
6462
"""
65-
extensions: List[GenerateCommandExtension] = []
63+
extensions = []
6664

6765
unspecific_generation = not types and not typesupports
6866

rosidl_cli/rosidl_cli/command/generate/extensions.py

Lines changed: 9 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,6 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
from pathlib import Path
16-
from typing import cast, List, Optional
17-
1815
from rosidl_cli.extensions import Extension
1916
from rosidl_cli.extensions import load_extensions
2017

@@ -29,11 +26,11 @@ class GenerateCommandExtension(Extension):
2926

3027
def generate(
3128
self,
32-
package_name: str,
33-
interface_files: List[str],
34-
include_paths: List[str],
35-
output_path: Path
36-
) -> List[str]:
29+
package_name,
30+
interface_files,
31+
include_paths,
32+
output_path
33+
):
3734
"""
3835
Generate source code.
3936
@@ -51,17 +48,11 @@ def generate(
5148
raise NotImplementedError()
5249

5350

54-
def load_type_extensions(*, specs: Optional[List[str]],
55-
strict: bool) -> List[GenerateCommandExtension]:
51+
def load_type_extensions(**kwargs):
5652
"""Load extensions for type representation source code generation."""
57-
extensions = load_extensions('rosidl_cli.command.generate.type_extensions', specs=specs,
58-
strict=strict)
59-
return cast(List[GenerateCommandExtension], extensions)
53+
return load_extensions('rosidl_cli.command.generate.type_extensions', **kwargs)
6054

6155

62-
def load_typesupport_extensions(*, specs: Optional[List[str]], strict: bool
63-
) -> List[GenerateCommandExtension]:
56+
def load_typesupport_extensions(**kwargs):
6457
"""Load extensions for type support source code generation."""
65-
extensions = load_extensions('rosidl_cli.command.generate.typesupport_extensions',
66-
specs=specs, strict=strict)
67-
return cast(List[GenerateCommandExtension], extensions)
58+
return load_extensions('rosidl_cli.command.generate.typesupport_extensions', **kwargs)

rosidl_cli/rosidl_cli/command/helpers.py

Lines changed: 23 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,9 @@
1717
import os
1818
import pathlib
1919
import tempfile
20-
from typing import Generator, List, Tuple
2120

2221

23-
def package_name_from_interface_file_path(path: pathlib.Path) -> str:
22+
def package_name_from_interface_file_path(path):
2423
"""
2524
Derive ROS package name from a ROS interface definition file path.
2625
@@ -30,7 +29,7 @@ def package_name_from_interface_file_path(path: pathlib.Path) -> str:
3029
return pathlib.Path(os.path.abspath(path)).parents[1].name
3130

3231

33-
def dependencies_from_include_paths(include_paths: List[str]) -> List[str]:
32+
def dependencies_from_include_paths(include_paths):
3433
"""
3534
Collect dependencies' ROS interface definition files from include paths.
3635
@@ -46,7 +45,7 @@ def dependencies_from_include_paths(include_paths: List[str]) -> List[str]:
4645
})
4746

4847

49-
def interface_path_as_tuple(path: str) -> Tuple[pathlib.Path, pathlib.Path]:
48+
def interface_path_as_tuple(path):
5049
"""
5150
Express interface definition file path as an (absolute prefix, relative path) tuple.
5251
@@ -62,43 +61,41 @@ def interface_path_as_tuple(path: str) -> Tuple[pathlib.Path, pathlib.Path]:
6261
"""
6362
path_as_string = str(path)
6463
if ':' not in path_as_string:
65-
prefix_path = pathlib.Path.cwd()
64+
prefix = pathlib.Path.cwd()
6665
else:
6766
prefix, _, path = path_as_string.rpartition(':')
68-
prefix_path = pathlib.Path(os.path.abspath(prefix))
69-
path_as_path = pathlib.Path(path)
70-
if path_as_path.is_absolute():
67+
prefix = pathlib.Path(os.path.abspath(prefix))
68+
path = pathlib.Path(path)
69+
if path.is_absolute():
7170
raise ValueError('Interface definition file path '
72-
f"'{path_as_path}' cannot be absolute")
73-
return prefix_path, path_as_path
71+
f"'{path}' cannot be absolute")
72+
return prefix, path
7473

7574

76-
def idl_tuples_from_interface_files(
77-
interface_files: List[str]
78-
) -> List[str]:
75+
def idl_tuples_from_interface_files(interface_files):
7976
"""
8077
Express ROS interface definition file paths as IDL tuples.
8178
8279
An IDL tuple is a relative path prefixed by an absolute path against
8380
which to resolve it followed by a colon ':'. This function then applies
8481
the same logic as `interface_path_as_tuple`.
8582
"""
86-
idl_tuples: List[str] = []
87-
for interface_path in interface_files:
88-
prefix, path = interface_path_as_tuple(interface_path)
83+
idl_tuples = []
84+
for path in interface_files:
85+
prefix, path = interface_path_as_tuple(path)
8986
idl_tuples.append(f'{prefix}:{path.as_posix()}')
9087
return idl_tuples
9188

9289

9390
@contextlib.contextmanager
9491
def legacy_generator_arguments_file(
9592
*,
96-
package_name: str,
97-
interface_files: List[str],
98-
include_paths: List[str],
99-
templates_path: str,
100-
output_path: str
101-
) -> Generator[str, None, None]:
93+
package_name,
94+
interface_files,
95+
include_paths,
96+
templates_path,
97+
output_path
98+
):
10299
"""
103100
Generate a temporary rosidl generator arguments file.
104101
@@ -141,10 +138,10 @@ def legacy_generator_arguments_file(
141138

142139
def generate_visibility_control_file(
143140
*,
144-
package_name: str,
145-
template_path: str,
146-
output_path: str
147-
) -> None:
141+
package_name,
142+
template_path,
143+
output_path
144+
):
148145
"""
149146
Generate a visibility control file from a template.
150147

rosidl_cli/rosidl_cli/command/translate/__init__.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,8 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
import argparse
1615
import pathlib
1716

18-
1917
from rosidl_cli.command import Command
2018

2119
from .api import translate
@@ -26,7 +24,7 @@ class TranslateCommand(Command):
2624

2725
name = 'translate'
2826

29-
def add_arguments(self, parser: argparse.ArgumentParser) -> None:
27+
def add_arguments(self, parser):
3028
parser.add_argument(
3129
'-o', '--output-path', metavar='PATH',
3230
type=pathlib.Path, default=None,
@@ -66,7 +64,7 @@ def add_arguments(self, parser: argparse.ArgumentParser) -> None:
6664
'path resolution is performed against such path.')
6765
)
6866

69-
def main(self, *, args: argparse.Namespace) -> None:
67+
def main(self, *, args):
7068
translate(
7169
package_name=args.package_name,
7270
interface_files=args.interface_files,

rosidl_cli/rosidl_cli/command/translate/api.py

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,21 +15,20 @@
1515
import collections
1616
import os
1717
import pathlib
18-
from typing import DefaultDict, Dict, List, Optional, Union
1918

2019
from .extensions import load_translate_extensions
2120

2221

2322
def translate(
2423
*,
25-
package_name: str,
26-
interface_files: List[str],
27-
output_format: str,
28-
input_format: Optional[str] = None,
29-
include_paths: Optional[List[str]] = None,
30-
output_path: Optional[pathlib.Path] = None,
31-
translators: Optional[List[str]] = None
32-
) -> List[str]:
24+
package_name,
25+
interface_files,
26+
output_format,
27+
input_format=None,
28+
include_paths=None,
29+
output_path=None,
30+
translators=None
31+
):
3332
"""
3433
Translate interface definition files from one format to another.
3534
@@ -65,8 +64,7 @@ def translate(
6564
raise RuntimeError('No translate extensions found')
6665

6766
if not input_format:
68-
interface_files_per_format: Union[DefaultDict[str, List[str]],
69-
Dict[str, List[str]]] = collections.defaultdict(list)
67+
interface_files_per_format = collections.defaultdict(list)
7068
for interface_file in interface_files:
7169
input_format = os.path.splitext(interface_file)[-1][1:]
7270
interface_files_per_format[input_format].append(interface_file)

0 commit comments

Comments
 (0)