Move all builtin transformations to the bonobo.nodes package, as the number grows.

This commit is contained in:
Romain Dorgueil
2017-05-20 10:21:04 +02:00
parent 3f2cfb620d
commit e9e9477ef6
10 changed files with 26 additions and 13 deletions

View File

@ -1,10 +1,10 @@
import warnings
from bonobo.basics import Limit, PrettyPrint, Tee, count, identity, noop, pprint
from bonobo.structs import Bag, Graph, Token
from bonobo.nodes import CsvReader, CsvWriter, FileReader, FileWriter, Filter, JsonReader, JsonWriter, Limit, \
PrettyPrint, Tee, count, identity, noop, pprint
from bonobo.strategies import create_strategy
from bonobo.structs import Bag, Graph
from bonobo.util.objects import get_name
from bonobo.io import CsvReader, CsvWriter, FileReader, FileWriter, JsonReader, JsonWriter
__all__ = []
@ -63,7 +63,7 @@ def run(graph, *chain, strategy=None, plugins=None, services=None):
# bonobo.structs
register_api_group(Bag, Graph)
register_api_group(Bag, Graph, Token)
# bonobo.strategies
register_api(create_strategy)
@ -88,8 +88,15 @@ def open_fs(fs_url, *args, **kwargs):
return _open_fs(str(fs_url), *args, **kwargs)
# bonobo.basics
# bonobo.nodes
register_api_group(
CsvReader,
CsvWriter,
FileReader,
FileWriter,
Filter,
JsonReader,
JsonWriter,
Limit,
PrettyPrint,
Tee,
@ -99,9 +106,6 @@ register_api_group(
pprint,
)
# bonobo.io
register_api_group(CsvReader, CsvWriter, FileReader, FileWriter, JsonReader, JsonWriter)
def _is_interactive_console():
import sys

View File

@ -54,6 +54,7 @@ class Configurable(metaclass=ConfigurableMeta):
wrapped, args = args[0], args[1:]
return type(wrapped.__name__, (cls, ), {cls.__wrappable__: wrapped})
# XXX is that correct ??? how does it pass args/kwargs to __init__ ???
return super().__new__(cls)
def __init__(self, *args, **kwargs):
@ -105,4 +106,4 @@ class Configurable(metaclass=ConfigurableMeta):
return self.call(*args, **kwargs)
def call(self, *args, **kwargs):
raise NotImplementedError('Not implemented.')
raise NotImplementedError('Not implemented.')

View File

@ -15,11 +15,12 @@
# limitations under the License.
from abc import ABCMeta, abstractmethod
from queue import Queue
from bonobo.errors import AbstractError, InactiveWritableError, InactiveReadableError
from bonobo.constants import BEGIN, END
from bonobo.basics import noop
from bonobo.errors import AbstractError, InactiveReadableError, InactiveWritableError
from bonobo.nodes import noop
BUFFER_SIZE = 8192

9
bonobo/nodes/__init__.py Normal file
View File

@ -0,0 +1,9 @@
from bonobo.nodes.io import __all__ as _all_io
from bonobo.nodes.io import *
from bonobo.nodes.basics import __all__ as _all_basics
from bonobo.nodes.basics import *
from bonobo.nodes.filter import Filter
__all__ = _all_basics + _all_io + ['Filter']

View File

@ -24,5 +24,3 @@ class Filter(Configurable):
def call(self, *args, **kwargs):
if self.filter(*args, **kwargs):
return NOT_MODIFIED