Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

move launch files into launch.legacy namespace #73

Merged
merged 2 commits into from
Jun 5, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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.
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