From cc6dfefe35883a7ee8698008d19ef4636961a590 Mon Sep 17 00:00:00 2001 From: Marin Atanasov Nikolov Date: Wed, 28 Jan 2015 14:58:54 +0200 Subject: [PATCH] Initial commit of vpoller.task.core module --- src/vpoller/task/core.py | 46 ++++++++++++++++++++++++++++ src/vpoller/{ => task}/decorators.py | 0 src/vpoller/{ => task}/registry.py | 0 3 files changed, 46 insertions(+) create mode 100644 src/vpoller/task/core.py rename src/vpoller/{ => task}/decorators.py (100%) rename src/vpoller/{ => task}/registry.py (100%) diff --git a/src/vpoller/task/core.py b/src/vpoller/task/core.py new file mode 100644 index 0000000..3f1c7db --- /dev/null +++ b/src/vpoller/task/core.py @@ -0,0 +1,46 @@ +# Copyright (c) 2013-2015 Marin Atanasov Nikolov +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer +# in this position and unchanged. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +""" +vPoller Task module + +""" + +from vpoller.exceptions import VPollerException + +__all__ = ['Task'] + + +class Task(object): + """ + vPoller task class + + """ + def __init__(self, name, function, required=None): + if not callable(function): + raise VPollerException('Task %s is not callable', name) + + self.name = name + self.function = function + self.required = required diff --git a/src/vpoller/decorators.py b/src/vpoller/task/decorators.py similarity index 100% rename from src/vpoller/decorators.py rename to src/vpoller/task/decorators.py diff --git a/src/vpoller/registry.py b/src/vpoller/task/registry.py similarity index 100% rename from src/vpoller/registry.py rename to src/vpoller/task/registry.py