<commit_before>import functools

try:
    from decorator import decorator
except ImportError:
    # No decorator package available. Create a no-op "decorator".
    def decorator(f):
        return f

from clom import arg

__all__ = [
    'Command',
    'Operation',
    'AND',
    'OR',
]

@decorator
def _makes_clone(_func, *args, **kw):
    """
    A decorator that returns a clone of the current clom object.
    """
    self = args[0]._clone()
    _func(self, *args[1:], **kw)
    return self

class Operation(object):
    """
    Base class for all command line operations, functions, commands, etc.
    """

    def __init__(self):
        self._pipe_to = None
        self._redirects = {}
        self._env = {}
        self._background = False

    @_makes_clone<commit_msg>Fixed a bug for decorator fallback if you didn't have decorator module installed<commit_after>import functools

try:
    from decorator import decorator
except ImportError:
    # No decorator package available. Create a no-op "decorator".
    def decorator(f):
        def decorate(_func):
            def inner(*args, **kwargs):
                return f(_func, *args, **kwargs)
            return inner
        return decorate

from clom import arg

__all__ = [
    'Command',
    'Operation',
    'AND',
    'OR',
]

@decorator
def _makes_clone(_func, *args, **kw):
    """
    A decorator that returns a clone of the current clom object.
    """
    self = args[0]._clone()
    _func(self, *args[1:], **kw)
    return self

class Operation(object):
    """
    Base class for all command line operations, functions, commands, etc.
    """

    def __init__(self):
        self._pipe_to = None
        self._redirects = {}
        self._env = {}
        self._background = False

    @_makes_clone
{'fraction_non_alphanumeric': 0.1111734980348119, 'fraction_numerical': 0.0022459292532285235, 'mean_word_length': 2.5217391304347827, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '615657', 'n_tokens_mistral': 549, 'n_tokens_neox': 538, 'n_words': 170}