Skip to content

Commit

Permalink
move launch files into launch.legacy namespace (#73)
Browse files Browse the repository at this point in the history
* move launch files into launch.legacy namespace

* update tests to use launch.legacy
  • Loading branch information
wjwwood authored Jun 5, 2018
1 parent e93ce3d commit fb6cbe4
Show file tree
Hide file tree
Showing 22 changed files with 116 additions and 103 deletions.
69 changes: 0 additions & 69 deletions launch/launch/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,72 +11,3 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

from launch.exit_handler import default_exit_handler
from launch.output_handler import CompositeOutputHandler
from launch.output_handler import ConsoleOutput


class LaunchDescriptor:

def __init__(self):
self.task_descriptors = []

def add_coroutine(self, coroutine, name=None, exit_handler=None):
if name is not None and name in [p.name for p in self.task_descriptors]:
raise RuntimeError("Task name '%s' already used" % name)
if exit_handler is None:
exit_handler = default_exit_handler
coroutine_descriptor = CoroutineDescriptor(
coroutine, name, exit_handler)
self.task_descriptors.append(coroutine_descriptor)
return coroutine_descriptor

def add_process(self, cmd, name=None, env=None, output_handlers=None, exit_handler=None):
if name is not None and name in [p.name for p in self.task_descriptors]:
raise RuntimeError("Task name '%s' already used" % name)
if output_handlers is None:
output_handlers = [ConsoleOutput()]
output_handlers = CompositeOutputHandler(output_handlers)
if exit_handler is None:
exit_handler = default_exit_handler
process_descriptor = ProcessDescriptor(
cmd, name, output_handlers, exit_handler, env=env)
self.task_descriptors.append(process_descriptor)
return process_descriptor


class TaskDescriptor:

def __init__(self):
self.task_state = None


class CoroutineDescriptor(TaskDescriptor):

def __init__(self, coroutine, name, exit_handler):
super(CoroutineDescriptor, self).__init__()
self.coroutine = coroutine
self.name = name
self.exit_handler = exit_handler


class ProcessDescriptor(TaskDescriptor):

def __init__(self, cmd, name, output_handler, exit_handler, env=None):
super(ProcessDescriptor, self).__init__()
self.cmd = cmd
self.name = name
self.output_handler = output_handler
self.exit_handler = exit_handler
self.env = env
self.transport = None
self.protocol = None

def send_signal(self, signal):
if self.transport:
self.transport.send_signal(signal)

def terminate(self):
if self.transport:
self.transport.terminate()
82 changes: 82 additions & 0 deletions launch/launch/legacy/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
# Copyright 2015 Open Source Robotics Foundation, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

from launch.legacy.exit_handler import default_exit_handler
from launch.legacy.output_handler import CompositeOutputHandler
from launch.legacy.output_handler import ConsoleOutput


class LaunchDescriptor:

def __init__(self):
self.task_descriptors = []

def add_coroutine(self, coroutine, name=None, exit_handler=None):
if name is not None and name in [p.name for p in self.task_descriptors]:
raise RuntimeError("Task name '%s' already used" % name)
if exit_handler is None:
exit_handler = default_exit_handler
coroutine_descriptor = CoroutineDescriptor(
coroutine, name, exit_handler)
self.task_descriptors.append(coroutine_descriptor)
return coroutine_descriptor

def add_process(self, cmd, name=None, env=None, output_handlers=None, exit_handler=None):
if name is not None and name in [p.name for p in self.task_descriptors]:
raise RuntimeError("Task name '%s' already used" % name)
if output_handlers is None:
output_handlers = [ConsoleOutput()]
output_handlers = CompositeOutputHandler(output_handlers)
if exit_handler is None:
exit_handler = default_exit_handler
process_descriptor = ProcessDescriptor(
cmd, name, output_handlers, exit_handler, env=env)
self.task_descriptors.append(process_descriptor)
return process_descriptor


class TaskDescriptor:

def __init__(self):
self.task_state = None


class CoroutineDescriptor(TaskDescriptor):

def __init__(self, coroutine, name, exit_handler):
super(CoroutineDescriptor, self).__init__()
self.coroutine = coroutine
self.name = name
self.exit_handler = exit_handler


class ProcessDescriptor(TaskDescriptor):

def __init__(self, cmd, name, output_handler, exit_handler, env=None):
super(ProcessDescriptor, self).__init__()
self.cmd = cmd
self.name = name
self.output_handler = output_handler
self.exit_handler = exit_handler
self.env = env
self.transport = None
self.protocol = None

def send_signal(self, signal):
if self.transport:
self.transport.send_signal(signal)

def terminate(self):
if self.transport:
self.transport.terminate()
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,10 @@
import threading
import time

from launch.exit_handler import ExitHandlerContext
from launch.launch import LaunchState
from launch.protocol import SubprocessProtocol
from launch.task import TaskState
from launch.legacy.exit_handler import ExitHandlerContext
from launch.legacy.launch import LaunchState
from launch.legacy.protocol import SubprocessProtocol
from launch.legacy.task import TaskState


class _TaskException(Exception):
Expand Down
File renamed without changes.
6 changes: 3 additions & 3 deletions launch/launch/main.py → launch/launch/legacy/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,9 @@
import os
import sys

from launch import LaunchDescriptor
from launch.launcher import DefaultLauncher
from launch.loader import load_launch_file
from launch.legacy import LaunchDescriptor
from launch.legacy.launcher import DefaultLauncher
from launch.legacy.loader import load_launch_file


def file_exists(filename):
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@
import sys
from tempfile import NamedTemporaryFile

from launch.exit_handler import ignore_exit_handler
from launch.output_handler import FileOutput
from launch.legacy.exit_handler import ignore_exit_handler
from launch.legacy.output_handler import FileOutput


def launch(launch_descriptor, argv):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,12 @@
import sys
from tempfile import NamedTemporaryFile

from launch import LaunchDescriptor
from launch.exit_handler import ignore_exit_handler
from launch.exit_handler import restart_exit_handler
from launch.loader import load_launch_file
from launch.output_handler import ConsoleOutput
from launch.output_handler import FileOutput
from launch.legacy import LaunchDescriptor
from launch.legacy.exit_handler import ignore_exit_handler
from launch.legacy.exit_handler import restart_exit_handler
from launch.legacy.loader import load_launch_file
from launch.legacy.output_handler import ConsoleOutput
from launch.legacy.output_handler import FileOutput


def launch(launch_descriptor, argv):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@
import sys
import threading

from launch import LaunchDescriptor
from launch.launcher import DefaultLauncher
from launch.legacy import LaunchDescriptor
from launch.legacy.launcher import DefaultLauncher


def test_interrupt_default_launcher():
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
from launch.arguments import get_launch_args
from launch.legacy.arguments import get_launch_args


def test_launch_args():
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,10 @@
import os
import sys

from launch import LaunchDescriptor
from launch.exit_handler import primary_exit_handler
from launch.launcher import DefaultLauncher
from launch.loader import load_launch_file
from launch.legacy import LaunchDescriptor
from launch.legacy.exit_handler import primary_exit_handler
from launch.legacy.launcher import DefaultLauncher
from launch.legacy.loader import load_launch_file


def test_launch_with_coroutine():
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@
import asyncio
import sys

from launch import LaunchDescriptor
from launch.launcher import DefaultLauncher
from launch.legacy import LaunchDescriptor
from launch.legacy.launcher import DefaultLauncher


def test_multiple_launch():
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,9 @@
import os
import sys

from launch import LaunchDescriptor
from launch.exit_handler import primary_exit_handler
from launch.launcher import DefaultLauncher
from launch.legacy import LaunchDescriptor
from launch.legacy.exit_handler import primary_exit_handler
from launch.legacy.launcher import DefaultLauncher


def test_non_primary_return_code():
Expand Down
2 changes: 1 addition & 1 deletion launch_testing/launch_testing/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
import sys

import ament_index_python
from launch.output_handler import LineOutput
from launch.legacy.output_handler import LineOutput


class UnmatchedOutputError(BaseException):
Expand Down
6 changes: 3 additions & 3 deletions launch_testing/test/test_env_passing.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,9 @@
import os
import sys

from launch import LaunchDescriptor
from launch.exit_handler import primary_exit_handler
from launch.launcher import DefaultLauncher
from launch.legacy import LaunchDescriptor
from launch.legacy.exit_handler import primary_exit_handler
from launch.legacy.launcher import DefaultLauncher


def test_env():
Expand Down
6 changes: 3 additions & 3 deletions launch_testing/test/test_matching.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,9 @@
import sys
import tempfile

from launch import LaunchDescriptor
from launch.exit_handler import ignore_exit_handler
from launch.launcher import DefaultLauncher
from launch.legacy import LaunchDescriptor
from launch.legacy.exit_handler import ignore_exit_handler
from launch.legacy.launcher import DefaultLauncher
from launch_testing import create_handler


Expand Down

0 comments on commit fb6cbe4

Please sign in to comment.