From b03d524633032854c02345ee514de7a1a17b5c3f Mon Sep 17 00:00:00 2001 From: Joshua Harlow Date: Sun, 12 Jul 2015 18:08:58 -0700 Subject: [PATCH] Add deprecated and only alias modules for the moved types Provide modules for the moved futurist types that only provide aliases to the old classes/functions and emit a deprecation warning when imported. This allows for users of those classes/functions to get off that code in a way that will be easily do-able (without totally breaking there code-bases, until we do that in the 2.0 release). Change-Id: If25ac34b437e2a575fe89b98abccbc9a56326d53 --- taskflow/types/futures.py | 36 ++++++++++++++++++++++++++++++++++++ taskflow/types/periodic.py | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 68 insertions(+) create mode 100644 taskflow/types/futures.py create mode 100644 taskflow/types/periodic.py diff --git a/taskflow/types/futures.py b/taskflow/types/futures.py new file mode 100644 index 00000000..7d1f9aaa --- /dev/null +++ b/taskflow/types/futures.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- + +# Copyright (C) 2015 Yahoo! Inc. All Rights Reserved. +# +# 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 debtcollector import removals +import futurist + + +# TODO(harlowja): remove me in a future version, since the futurist +# is the replacement for this whole module... +removals.removed_module(__name__, + replacement="the '%s' library" % futurist.__name__, + version="1.15", removal_version='2.0', + stacklevel=4) + + +# Keep alias classes/functions... around until this module is removed. +Future = futurist.Future +ThreadPoolExecutor = futurist.ThreadPoolExecutor +GreenThreadPoolExecutor = futurist.GreenThreadPoolExecutor +ProcessPoolExecutor = futurist.ProcessPoolExecutor +GreenFuture = futurist.GreenFuture +SynchronousExecutor = futurist.SynchronousExecutor +ExecutorStatistics = futurist.ExecutorStatistics diff --git a/taskflow/types/periodic.py b/taskflow/types/periodic.py new file mode 100644 index 00000000..9f2897ad --- /dev/null +++ b/taskflow/types/periodic.py @@ -0,0 +1,32 @@ +# -*- coding: utf-8 -*- + +# Copyright (C) 2015 Yahoo! Inc. All Rights Reserved. +# +# 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 debtcollector import removals +import futurist +from futurist import periodics + + +# TODO(harlowja): remove me in a future version, since the futurist +# is the replacement for this whole module... +removals.removed_module(__name__, + replacement="the '%s' library" % futurist.__name__, + version="1.15", removal_version='2.0', + stacklevel=4) + + +# Keep alias classes/functions... around until this module is removed. +periodic = periodics.periodic +PeriodicWorker = periodics.PeriodicWorker