parent
5fe1ab279a
commit
64d749a13f
@ -262,26 +262,29 @@ class Command(_BaseCommand):
|
|||||||
"""
|
"""
|
||||||
self.__init__(self.callback, **dict(self.__original_kwargs__, **kwargs))
|
self.__init__(self.callback, **dict(self.__original_kwargs__, **kwargs))
|
||||||
|
|
||||||
|
def _ensure_assignment_on_copy(self, other):
|
||||||
|
other._before_invoke = self._before_invoke
|
||||||
|
other._after_invoke = self._after_invoke
|
||||||
|
if self.checks != other.checks:
|
||||||
|
other.checks = self.checks.copy()
|
||||||
|
if self._buckets != other._buckets:
|
||||||
|
other._buckets = self._buckets.copy()
|
||||||
|
try:
|
||||||
|
other.on_error = self.on_error
|
||||||
|
except AttributeError:
|
||||||
|
pass
|
||||||
|
return other
|
||||||
|
|
||||||
def copy(self):
|
def copy(self):
|
||||||
"""Creates a copy of this :class:`Command`."""
|
"""Creates a copy of this :class:`Command`."""
|
||||||
ret = self.__class__(self.callback, **self.__original_kwargs__)
|
ret = self.__class__(self.callback, **self.__original_kwargs__)
|
||||||
ret._before_invoke = self._before_invoke
|
return self._ensure_assignment_on_copy(ret)
|
||||||
ret._after_invoke = self._after_invoke
|
|
||||||
if self.checks != ret.checks:
|
|
||||||
ret.checks = self.checks.copy()
|
|
||||||
if self._buckets != ret._buckets:
|
|
||||||
ret._buckets = self._buckets.copy()
|
|
||||||
try:
|
|
||||||
ret.on_error = self.on_error
|
|
||||||
except AttributeError:
|
|
||||||
pass
|
|
||||||
return ret
|
|
||||||
|
|
||||||
def _update_copy(self, kwargs):
|
def _update_copy(self, kwargs):
|
||||||
if kwargs:
|
if kwargs:
|
||||||
copy = self.__class__(self.callback, **kwargs)
|
copy = self.__class__(self.callback, **kwargs)
|
||||||
copy.update(**self.__original_kwargs__)
|
copy.update(**self.__original_kwargs__)
|
||||||
return copy
|
return self._ensure_assignment_on_copy(copy)
|
||||||
else:
|
else:
|
||||||
return self.copy()
|
return self.copy()
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user